Commit a4403190 authored by Mudassar Khan's avatar Mudassar Khan
Browse files

add missing json schemas and request bodies

parent 44c87423
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
{{
  "type": "{scaletype}",
  "aspectId": "{scaleAspectId}"
}}
 No newline at end of file
+196 −0
Original line number Diff line number Diff line
{
  "description": "This type represents a subscription related to notifications about VNF lifecycle changes.\n",
  "type": "object",
  "required": ["id", "callbackUri", "verbosity", "_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 VNF lifecycle changes.\nAt 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 \n      the notification types to facilitate automated code generation systems.\n",
      "type": "object",
      "properties": {
        "vnfInstanceSubscriptionFilter": {
          "description": "This type represents subscription filter criteria to match VNF instances. * NOTE 1:\tThe attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances\n          that are based on certain VNFDs in a filter. They should not be used both in the same filter instance,\n          but one alternative should be chosen.\n  NOTE 2:\tThe attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF\n          instances in a filter. They should not be used both in the same filter instance, but one alternative\n          should be chosen.\n",
          "type": "object",
          "anyOf": [
            {
              "oneOf": [
                {
                  "required": ["vnfdId"]
                },
                {
                  "required": ["vnfProductsFromProviders"]
                }
              ]
            },
            {
              "oneOf": [
                {
                  "required": ["vnfInstanceIds"]
                },
                {
                  "required": ["vnfInstanceNames"]
                }
              ]
            }
          ],
          "properties": {
            "vnfdIds": {
              "description": "If present, match 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"
              }
            },
            "vnfProductsFromProviders": {
              "description": "If present, match VNF instances that belong to VNF products from certain providers. See note 1.\n",
              "type": "array",
              "items": {
                "type": "object",
                "required": ["vnfProvider"],
                "properties": {
                  "vnfProvider": {
                    "description": "Name of the VNF provider to match.\n",
                    "type": "string"
                  },
                  "vnfProducts": {
                    "description": "If present, match VNF instances that belong to VNF products with certain product names, from one particular provider.\n",
                    "type": "array",
                    "items": {
                      "type": "object",
                      "required": ["vnfProductName"],
                      "properties": {
                        "vnfProductName": {
                          "description": "Name of the VNF product to match.\n",
                          "type": "string"
                        },
                        "versions": {
                          "description": "If present, match VNF instances that belong to VNF products with certain versions and a certain product name, from one particular provider.\n",
                          "type": "array",
                          "items": {
                            "type": "object",
                            "required": ["vnfSoftwareVersion"],
                            "properties": {
                              "vnfSoftwareVersion": {
                                "description": "A version.\n",
                                "type": "string"
                              },
                              "vnfdVersions": {
                                "description": "If present, match VNF instances that belong to VNF products with certain VNFD versions, a certain software version and a certain product name, from one particular provider.\n",
                                "type": "array",
                                "items": {
                                  "description": "A version.\n",
                                  "type": "string"
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            },
            "vnfInstanceIds": {
              "description": "If present, match VNF 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"
              }
            },
            "vnfInstanceNames": {
              "description": "If present, match VNF instances with a VNF Instance Name listed in this attribute. See note 2.\n",
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        },
        "notificationTypes": {
          "description": "Match particular notification types. \nPermitted values: -\tVnfLcmOperationOccurrenceNotification -\tVnfIdentifierCreationNotification -\tVnfIdentifierDeletionNotification See note.\n",
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "VnfLcmOperationOccurrenceNotification",
              "VnfIdentifierCreationNotification",
              "VnfIdentifierDeletionNotification"
            ]
          }
        },
        "operationTypes": {
          "description": "Match particular VNF lifecycle operation types for the notification of type VnfLcmOperationOccurrenceNotification. May be present if the \"notificationTypes\" attribute contains the value \"VnfLcmOperationOccurrenceNotification\", and shall be absent otherwise.\n",
          "type": "array",
          "items": {
            "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.\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"
            ]
          }
        },
        "operationStates": {
          "description": "Match particular LCM operation state values as reported in notifications of type VnfLcmOperationOccurrenceNotification. May be present if the \"notificationTypes\" attribute contains the value \"VnfLcmOperationOccurrenceNotification\", and shall be absent otherwise.\n",
          "type": "array",
          "items": {
            "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"
            ]
          }
        }
      }
    },
    "callbackUri": {
      "description": "String formatted according to IETF RFC 3986.\n",
      "type": "string"
    },
    "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\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 using an absolute URI.\n",
          "type": "object",
          "required": ["href"],
          "properties": {
            "href": {
              "description": "String formatted according to IETF RFC 3986.\n",
              "type": "string"
            }
          }
        }
      }
    }
  }
}