VNFLifecycleManagementNotification.yaml 15.1 KB
Newer Older
1
openapi: 3.0.2
2 3

info:
4
  title: SOL003 - VNF Lifecycle Management Notification interface
5
  description: |
6 7
    SOL003 - VNF Lifecycle Management Notification interface

8
    IMPORTANT: Please note that this file might be not aligned to the current
9 10 11
    version of the ETSI Group Specification it refers to. In case of
    discrepancies the published ETSI Group Specification takes precedence.

12
    Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues
13 14
  contact:
    name: NFV-SOL WG
15 16 17
  license:
    name: "ETSI Forge copyright notice"
    url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
18
  version: "2.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1"
19 20

externalDocs:
21
  description: ETSI GS NFV-SOL 003 V3.3.1
22
  url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/03.03.01_60/gs_NFV-SOL003v030301p.pdf
23

24 25 26
servers:
  - url: http://127.0.0.1/callback/v1
  - url: https://127.0.0.1/callback/v1
27 28

paths:
29
  ###############################################################################
30
  # Notification endpoint VnfLcmOperationOccurrenceNotification                 #
31
  ###############################################################################
32 33 34 35
  /URI-is-provided-by-the-client-when-creating-the-subscription-VnfLcmOperationOccurrenceNotification:
    parameters:
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
36
    post:
37
      description: |
38
        Notify.
39 40 41 42
        The POST method delivers a notification from the API producer to an API consumer.
        The API consumer shall have previously created an "Individual subscription" resource with a matching filter.
        This method shall follow the provisions specified in the tables 5.4.20.3.1-1 and 5.4.20.3.1-2 for
        URI query parameters, request and response data structures, and response codes.
43 44
      requestBody:
        $ref: '#/components/requestBodies/VnfLcmOperationOccurrenceNotification'
45 46
      responses:
        204:
47
          $ref: '#/components/responses/VnfLcmOperationOccurrenceNotification.Post.204'
48
        400:
f.moscatelli's avatar
f.moscatelli committed
49
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
50
        401:
f.moscatelli's avatar
f.moscatelli committed
51
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
52
        403:
f.moscatelli's avatar
f.moscatelli committed
53
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
54
        405:
f.moscatelli's avatar
f.moscatelli committed
55
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
56
        406:
f.moscatelli's avatar
f.moscatelli committed
57
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
58
        500:
f.moscatelli's avatar
f.moscatelli committed
59
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
60
        503:
f.moscatelli's avatar
f.moscatelli committed
61
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
62 63

    get:
64
      description: |
65 66
        The GET method allows the API producer to test the notification endpoint that is provided by the 
        API consumer, e.g. during subscription.
67 68
        This method shall follow the provisions specified in the tables 5.4.20.3.2-1 and 5.4.20.3.2-2
        for URI query parameters, request and response data structures, and response codes.
69 70
      responses:
        204:
71
          $ref: '#/components/responses/VnfLcmOperationOccurrenceNotification.Get.204'
72
        400:
f.moscatelli's avatar
f.moscatelli committed
73
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
74
        401:
f.moscatelli's avatar
f.moscatelli committed
75
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
76
        403:
f.moscatelli's avatar
f.moscatelli committed
77
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
78
        405:
f.moscatelli's avatar
f.moscatelli committed
79
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
80
        406:
f.moscatelli's avatar
f.moscatelli committed
81
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
82
        500:
f.moscatelli's avatar
f.moscatelli committed
83
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
84
        503:
f.moscatelli's avatar
f.moscatelli committed
85
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
86

87 88 89
  ###############################################################################
  # Notification endpoint VnfIdentifierCreationNotification                     #
  ###############################################################################
90 91 92 93
  /URI-is-provided-by-the-client-when-creating-the-subscription-VnfIdentifierCreationNotification:
    parameters:
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
94
    post:
95
      description: |
96
        Notify.
97 98 99 100
        The POST method delivers a notification from the API producer to an API consumer.
        The API consumer shall have previously created an "Individual subscription" resource with a matching filter.
        This method shall follow the provisions specified in the tables 5.4.20.3.1-1 and 5.4.20.3.1-2 for
        URI query parameters, request and response data structures, and response codes.
101 102
      requestBody:
        $ref: '#/components/requestBodies/VnfIdentifierCreationNotification'
103 104
      responses:
        204:
105
          $ref: '#/components/responses/VnfIdentifierCreationNotification.Post.204'
106
        400:
f.moscatelli's avatar
f.moscatelli committed
107
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
108
        401:
f.moscatelli's avatar
f.moscatelli committed
109
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
110
        403:
f.moscatelli's avatar
f.moscatelli committed
111
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
112
        405:
f.moscatelli's avatar
f.moscatelli committed
113
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
114
        406:
f.moscatelli's avatar
f.moscatelli committed
115
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
116
        500:
f.moscatelli's avatar
f.moscatelli committed
117
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
118
        503:
f.moscatelli's avatar
f.moscatelli committed
119
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
120 121

    get:
122
      description: |
123
        The GET method allows the server to test the notification endpoint that is provided by the API consumer,
124 125 126
        e.g. during subscription.
        This method shall follow the provisions specified in the tables 5.4.20.3.2-1 and 5.4.20.3.2-2
        for URI query parameters, request and response data structures, and response codes.
127 128
      responses:
        204:
129
          $ref: '#/components/responses/VnfIdentifierCreationNotification.Get.204'
130
        400:
f.moscatelli's avatar
f.moscatelli committed
131
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
132
        401:
f.moscatelli's avatar
f.moscatelli committed
133
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
134
        403:
f.moscatelli's avatar
f.moscatelli committed
135
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
136
        405:
f.moscatelli's avatar
f.moscatelli committed
137
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
138
        406:
f.moscatelli's avatar
f.moscatelli committed
139
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
140
        500:
f.moscatelli's avatar
f.moscatelli committed
141
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
142
        503:
f.moscatelli's avatar
f.moscatelli committed
143
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
144

145 146 147
  ###############################################################################
  # Notification endpoint VnfIdentifierDeletionNotification                     #
  ###############################################################################
148 149 150 151
  /URI-is-provided-by-the-client-when-creating-the-subscription-VnfIdentifierDeletionNotification:
    parameters:
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
152
    post:
153
      description: |
154
        Notify.
155 156 157 158
        The POST method delivers a notification from the API producer to an API consumer.
        The API consumer shall have previously created an "Individual subscription" resource with a matching filter.
        This method shall follow the provisions specified in the tables 5.4.20.3.1-1 and 5.4.20.3.1-2 for
        URI query parameters, request and response data structures, and response codes.
159 160
      requestBody:
        $ref: '#/components/requestBodies/VnfIdentifierDeletionNotification'
161 162
      responses:
        204:
163
          $ref: '#/components/responses/VnfIdentifierDeletionNotification.Post.204'
164
        400:
f.moscatelli's avatar
f.moscatelli committed
165
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
166
        401:
f.moscatelli's avatar
f.moscatelli committed
167
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
168
        403:
f.moscatelli's avatar
f.moscatelli committed
169
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
170
        405:
f.moscatelli's avatar
f.moscatelli committed
171
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
172
        406:
f.moscatelli's avatar
f.moscatelli committed
173
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
174
        500:
f.moscatelli's avatar
f.moscatelli committed
175
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
176
        503:
f.moscatelli's avatar
f.moscatelli committed
177
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
178 179

    get:
180
      description: |
181
        The GET method allows the server to test the notification endpoint that is provided by the API consumer,
182 183 184
        e.g. during subscription.
        This method shall follow the provisions specified in the tables 5.4.20.3.2-1 and 5.4.20.3.2-2
        for URI query parameters, request and response data structures, and response codes.
185 186
      responses:
        204:
187
          $ref: '#/components/responses/VnfIdentifierDeletionNotification.Get.204'
188
        400:
f.moscatelli's avatar
f.moscatelli committed
189
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
190
        401:
f.moscatelli's avatar
f.moscatelli committed
191
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
192
        403:
f.moscatelli's avatar
f.moscatelli committed
193
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
194
        405:
f.moscatelli's avatar
f.moscatelli committed
195
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
196
        406:
f.moscatelli's avatar
f.moscatelli committed
197
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
198
        500:
f.moscatelli's avatar
f.moscatelli committed
199
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
200
        503:
201 202 203 204 205 206 207 208 209 210 211
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"


components:
  requestBodies:
    VnfLcmOperationOccurrenceNotification:
      description: |
        A notification about lifecycle changes triggered by a VNF LCM operation occurrence..
      content:
        application/json:
          schema:
f.moscatelli's avatar
f.moscatelli committed
212
            $ref: "../VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOperationOccurrenceNotification"
213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361
      required: true

    VnfIdentifierCreationNotification:
      description: |
        A notification about the creation of a VNF identifier and the related "Individual VNF instance" resource.
      content:
        application/json:
          schema:
            $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfIdentifierCreationNotification"
      required: true

    VnfIdentifierDeletionNotification:
      description: |
        A notification about the deletion of a VNF identifier and the related "Individual VNF instance" resource.
      content:
        application/json:
          schema:
            $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfIdentifierDeletionNotification"
      required: true

  responses:
    VnfLcmOperationOccurrenceNotification.Post.204:
      description: |
        204 NO CONTENT

        Shall be returned when the notification has been delivered successfully.
      headers:
        WWW-Authenticate:
          description: |
            Challenge if the corresponding HTTP request has not provided authorization, or error details if the
            corresponding HTTP request has provided an invalid authorization token.
          style: simple
          explode: false
          schema:
            type: string
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string

    VnfLcmOperationOccurrenceNotification.Get.204:
      description: |
        204 NO CONTENT

        Shall be returned to indicate that the notification endpoint has been tested successfully.
        The response body shall be empty.
      headers:
        WWW-Authenticate:
          description: |
            Challenge if the corresponding HTTP request has not provided authorization, or error details if the
            corresponding HTTP request has provided an invalid authorization token.
          style: simple
          explode: false
          schema:
            type: string
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string

    VnfIdentifierCreationNotification.Post.204:
      description: |
        204 NO CONTENT

        Shall be returned when the notification has been delivered successfully.
      headers:
        WWW-Authenticate:
          description: |
            Challenge if the corresponding HTTP request has not provided authorization, or error details if the
            corresponding HTTP request has provided an invalid authorization token.
          style: simple
          explode: false
          schema:
            type: string
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string

    VnfIdentifierCreationNotification.Get.204:
      description: |
        204 NO CONTENT

        Shall be returned to indicate that the notification endpoint has been tested successfully.
        The response body shall be empty.
      headers:
        WWW-Authenticate:
          description: |
            Challenge if the corresponding HTTP request has not provided authorization, or error details if the
            corresponding HTTP request has provided an invalid authorization token.
          style: simple
          explode: false
          schema:
            type: string
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string

    VnfIdentifierDeletionNotification.Post.204:
      description: |
        204 NO CONTENT

        Shall be returned when the notification has been delivered successfully.
      headers:
        WWW-Authenticate:
          description: |
            Challenge if the corresponding HTTP request has not provided authorization, or error details if the
            corresponding HTTP request has provided an invalid authorization token.
          style: simple
          explode: false
          schema:
            type: string
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string

    VnfIdentifierDeletionNotification.Get.204:
      description: |
        204 NO CONTENT

        Shall be returned to indicate that the notification endpoint has been tested successfully.
        The response body shall be empty.
      headers:
        WWW-Authenticate:
          description: |
            Challenge if the corresponding HTTP request has not provided authorization, or error details if the
            corresponding HTTP request has provided an invalid authorization token.
          style: simple
          explode: false
          schema:
            type: string
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string