SOL002SOL003VNFIndicator_def.yaml 7.33 KB
Newer Older
Gergely Csatari's avatar
Gergely Csatari 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
# Copyright (c) ETSI 2017.
# https://forge.etsi.org/etsi-forge-copyright-notice.txt

definitions:
  VnfIndicator:
    description: > 
      This type represents a VNF indicator value.
    type: object
    required:  
      - id
      - value
      - vnfInstanceId
      - _links
    properties: 
      id:
        description: >
          Identifier of this VNF indicator.
        $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd"
      name:
        description: >
          Human readable name of the indicator. Shall be present if defined in
          the VNFD.
        type: string
      value: 
        description: >
          Provides the value of the indicator. The value format is defined in
          the VNFD.
          ETSI GS NFV-SOL 001 specifies the structure and format of the 
          VNFD based on TOSCA specifications.
        type: object
      vnfInstanceId:
        description: >
          Identifier of the VNF instance which provides the indicator value.
        $ref: "SOL002SOL003_def.yaml#/definitions/Identifier"
      _links:
        description: >
          Links for this resource.
        type: object
        required: 
          - self
          - vnfInstance
        properties: 
          self:
            description: >
              URI of this resource.
            $ref: "SOL002SOL003_def.yaml#/definitions/Link"
          vnfInstance:
            description: >
              Link to the related VNF instance resource.
            $ref: "SOL002SOL003_def.yaml#/definitions/Link"

  VnfIndicatorNotificationsFilter:
    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).
    type: object
    properties: 
      vnfInstanceSubscriptionFilter:
        description: >
          Filter criteria to select VNF instances about which to notify.
        $ref: "SOL002SOL003_def.yaml#/definitions/VnfInstanceSubscriptionFilter"
      indicatorIds:
        description: >
          Match particular VNF indicator identifiers.
        type: array
        items: 
          $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd"

  VnfIndicatorSubscription:
    description: >
      This type represents a subscription related to notifications about VNF
      indicator value changes.
    type: object
    required: 
      - id
      - callbackUri
      - _links
    properties: 
      id:
        description: >
          Identifier of this subscription resource.
        $ref: "SOL002SOL003_def.yaml#/definitions/Identifier"
      filter:
        description: >
          Filter settings for this subscription, to define the subset of all
          notifications this subscription relates to. A particular
          notification is sent to the subscriber if the filter matches, or if
          there is no filter.
        $ref: "#/definitions/VnfIndicatorNotificationsFilter"
      callbackUri:
        description: >
          The URI of the endpoint to send the notification to.
        type: string
        format: url
      _links:
        description: >
          Links for this resource.
        type: object
        required:
          - self
        properties:
          self:
            description: >
              URI of this resource.
            $ref: "SOL002SOL003_def.yaml#/definitions/Link"

  VnfIndicatorSubscriptionRequest:
    description: >
      This type represents a subscription request related to VNF indicator
      value change notifications.
    type: object
    required: 
      - callbackUri
    properties: 
      filter:
        description: >
          Filter settings for this subscription, to define the subset of all
          notifications this subscription relates to. A particular
          notification is sent to the subscriber if the filter matches, or if
          there is no filter.
        $ref: "#/definitions/VnfIndicatorNotificationsFilter"
      callbackUri:
        description: >
          The URI of the endpoint to send the notification to.
        type: string
        format: url
      authentication:
        description: >
          Authentication parameters to configure the use of Authorization
          when sending notifications corresponding to this subscription.
          This attribute shall only be present if the subscriber requires
          authorization of notifications.
        $ref: "SOL002SOL003_def.yaml#/definitions/SubscriptionAuthentication"

  VnfIndicatorValueChangeNotification:
    description: >
      This type represents a VNF indicator value change notification.
143
144
      The notification shall be triggered by the VNFM when the value of an
      indicator has changed.
Gergely Csatari's avatar
Gergely Csatari committed
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
    type: object
    required: 
      - id
      - notificationType
      - subscriptionId
      - timeStamp
      - vnfIndicatorId
      - value
      - vnfInstanceId
      - _links
    properties: 
      id: 
        description: >
          Identifier of this notification. If a notification is sent multiple
          times due to multiple subscriptions, the "id" attribute of all these
          notifications shall have the same value.
        $ref: "SOL002SOL003_def.yaml#/definitions/Identifier"
      notificationType:
        description: >
          Discriminator for the different notification types. Shall be set to
          "VnfIndicatorValueChangeNotification" for this notification type.
        type: string
        enum: 
          - VnfIndicatorValueChangeNotification
      subscriptionId:
        description: >
          Identifier of the subscription that this notification relates to.
        $ref: "SOL002SOL003_def.yaml#/definitions/Identifier"
      timeStamp:
        description: >
          Date-time of the generation of the notification.
        $ref: "SOL002SOL003_def.yaml#/definitions/DateTime"
      vnfIndicatorId:
        description: >
          Identifier of the VNF indicator whose value has changed.
        $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd"
      name:
        description: >
          Human readable name of the VNF indicator. Shall be present if
          defined in the VNFD.
        type: string
      value:
        description: >
          Provides the value of the VNF indicator. The value format is defined
          in the VNFD.
          ETSI GS NFV-SOL 001 specifies the structure and format of the VNFD
          based on TOSCA specifications.
        type: object
      vnfInstanceId:
        description: >
          Identifier of the VNF instance which provides the indicator value.
        $ref: "SOL002SOL003_def.yaml#/definitions/Identifier"
      _links:
        description: >
          Links for this resource.
        type: object
        required: 
          - vnfInstance
          - subscription
        properties:
          vnfInstance:
            description: >
              Link to the related VNF instance resource.
            $ref: "SOL002SOL003_def.yaml#/definitions/Link"
          subscription:
            description: >
              Link to the related subscription.
            $ref: "SOL002SOL003_def.yaml#/definitions/Link"