VnfIndicatorSubscription.schema.json 6.26 KB
Newer Older
Elian Kraja's avatar
Elian Kraja committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
{
  "description": "This type represents a subscription related to notifications about VNF indicator value changes.\n",
  "type": "object",
  "required": [
    "callbackUri",
    "id",
    "_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 indicator value changes. 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": {
        "vnfInstanceSubscriptionFilter": {
          "description": "This type represents subscription filter criteria to match VNF instances.  * NOTE 1:\n     The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to \n     VNF instances that are based on certain VNFDs in a filter. They should not be used both\n     in the same filter instance, but one alternative should be chosen.\n  * NOTE 2:\n     The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to\n    particular VNF instances in a filter. They should not be used both in the same filter instance,\n    but one alternative should be chosen.\n",
          "type": "object",
          "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": [
                              "vnfSoftwareVersions"
                            ],
                            "properties": {
                              "vnfSoftwareVersions": {
                                "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"
              }
            }
          }
        },
        "indicatorIds": {
          "description": "Match particular VNF indicator identifiers.\n",
          "type": "array",
          "items": {
            "description": "An identifier that is unique within a VNF descriptor.\n",
            "type": "string"
          }
        }
      }
    },
    "callbackUri": {
      "description": "The URI of the endpoint to send the notification to.\n",
      "type": "string",
      "format": "URI"
    },
    "_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 the referenced resource.\n",
              "type": "string",
              "format": "url"
            }
          }
        }
      }
    }
  }
}