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