{
    "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"
                }
              },
              "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"
            ]
          }
        }
      },
      "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"
              }
            }
          }
        }
      }
    }
  }