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