NSDManagement.yaml 14.1 KB
Newer Older
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
143
144
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
213
214
215
216
217
openapi: 3.0.2
info:
  version: 1.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:1
  title: SOL011 - NSD Management Interface
  description: >
    SOL011 - NSD Management Interface

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

    Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution=
  license:
    name: ETSI Forge copyright notice
    url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
externalDocs:
  description: ETSI GS NFV-SOL 011 V3.3.1
  url: https://docbox.etsi.org/ISG/NFV/Open/Drafts/SOL011ed331_Or-Or_Stage_3/NFV-SOL011ed331v010.zip

security:
  - OauthSecurity:
      - all
servers:
  - url: http://127.0.0.1/nsd/v1
  - url: https://127.0.0.1/nsd/v1

paths:
  "/api_versions":
    $ref: '../endpoints/SOL011_endpoints.yaml#/endpoints/api_versions'

  "/ns_descriptors":
    description: >-
      It can be used by NFVO-C to query multiple NS descriptors from NFVO-N.
    parameters:
      - $ref: "../components/SOL011_params.yaml#/components/parameters/Version"
      - $ref: "../components/SOL011_params.yaml#/components/parameters/Accept"
      - $ref: "../components/SOL011_params.yaml#/components/parameters/Authorization"
    get:
      description: >-
        The GET method queries information about multiple NS descriptor resources.
        This method shall follow the provisions specified in the clause 5.4.2.3.2 of ETSI GS NFV-SOL 005.
      parameters:
        - $ref: "../components/SOL011_params.yaml#/components/parameters/filter"
        - $ref: "../components/SOL011_params.yaml#/components/parameters/all_fields"
        - $ref: "../components/SOL011_params.yaml#/components/parameters/fields"
        - $ref: "../components/SOL011_params.yaml#/components/parameters/exclude_fields"
        - $ref: "../components/SOL011_params.yaml#/components/parameters/exclude_default"
        - $ref: "../components/SOL011_params.yaml#/components/parameters/nextpage_opaque_marker"

      responses:
        200:
          $ref: "#/components/responses/NsdInfos.Get.200"
        400:
          $ref: "../components/SOL011_resp.yaml#/components/responses/400"
        401:
          $ref: "../components/SOL011_resp.yaml#/components/responses/401"
        403:
          $ref: "../components/SOL011_resp.yaml#/components/responses/403"
        404:
          $ref: "../components/SOL011_resp.yaml#/components/responses/404"
        405:
          $ref: "../components/SOL011_resp.yaml#/components/responses/405"
        406:
          $ref: "../components/SOL011_resp.yaml#/components/responses/406"
        500:
          $ref: "../components/SOL011_resp.yaml#/components/responses/500"
        503:
          $ref: "../components/SOL011_resp.yaml#/components/responses/503"
        504:
          $ref: "../components/SOL011_resp.yaml#/components/responses/504"

  '/ns_descriptors/{nsdInfoId}':
    description: >-
      It can be used by NFVO-C to query an individual NS descriptor from NFVO-N.
    parameters:
      - $ref: "#/components/parameters/nsdInfoId"
      - $ref: "../components/SOL011_params.yaml#/components/parameters/Version"
      - $ref: "../components/SOL011_params.yaml#/components/parameters/Accept"
      - $ref: "../components/SOL011_params.yaml#/components/parameters/Authorization"

    get:
      description: >
        The GET method reads information about an individual NS descriptor resource.
        This method shall follow the provisions specified in the clause 5.4.3.3.2 of ETSI GS NFV-SOL 005.
      responses:
        200:
          $ref: "#/components/responses/NsdInfo.Get.200"
        400:
          $ref: "../components/SOL011_resp.yaml#/components/responses/400"
        401:
          $ref: "../components/SOL011_resp.yaml#/components/responses/401"
        403:
          $ref: "../components/SOL011_resp.yaml#/components/responses/403"
        404:
          $ref: "../components/SOL011_resp.yaml#/components/responses/404"
        405:
          $ref: "../components/SOL011_resp.yaml#/components/responses/405"
        406:
          $ref: "../components/SOL011_resp.yaml#/components/responses/406"
        500:
          $ref: "../components/SOL011_resp.yaml#/components/responses/500"
        503:
          $ref: "../components/SOL011_resp.yaml#/components/responses/503"
        504:
          $ref: "../components/SOL011_resp.yaml#/components/responses/504"

components:
  parameters:
    nsdInfoId:
      name: nsdInfoId
      description: >
        Identifier of the individual NS descriptor resource.
      in: path
      required: true
      schema:
        type: string

  responses:
    NsdInfos.Get.200:
      description: >-
        200 OK
        Information about zero or more NS descriptors.
        The response body shall contain in an array the
        representations of zero or more NS descriptors, as
        defined in clause 5.5.2.2.
        If the NFVO supports alternative 2 (paging) according
        to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for
        this resource, inclusion of the Link HTTP header in
        this response shall follow the provisions in clause
        5.4.2.3 of ETSI GS NFV-SOL 013.
      headers:
        Content-Type:
          description: The MIME type of the body of the response.
          schema:
            type: string
            maximum: 1
            minimum: 1
        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.
          schema:
            type: string
            maximum: 1
            minimum: 0
        Version:
          description: >
            Version of the API used in the response.
          schema:
            type: string
            maximum: 1
            minimum: 1
        Link:
          description: >
            Reference to other resources. Used for paging in the present document, see clause 4.7.2.1.
          schema:
            type: string
            maximum: 1
            minimum: 0
      content:
        application/json:
        schema:
          $ref: "#/components/schemas/NsdInfos.Get.Response"

    NsdInfo.Get.200:
      description: >-
        200 OK
        Information about the individual NS descriptor.
        The response body shall contain a representation of the individual NS descriptor,
        as defined in clause 5.5.2.2.
      headers:
        Content-Type:
          description: The MIME type of the body of the response.
          schema:
            type: string
            maximum: 1
            minimum: 1
        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.
          schema:
            type: string
            maximum: 1
            minimum: 0
        Version:
          description: >
            Version of the API used in the response.
          schema:
            type: string
            maximum: 1
            minimum: 1
        Link:
          description: >
            Reference to other resources. Used for paging in the present document, see clause 4.7.2.1.
          schema:
            type: string
            maximum: 1
            minimum: 0
      content:
        application/json:
        schema:
          $ref: "#/components/schemas/NsdInfo"

  schemas:
    NsdInfos.Get.Response:
      description: >
        This type represents a response for the query NSD operation.
      type: array
      items:
        $ref: "#/components/schemas/NsdInfo"

    NsdInfo:
      description: >
        This type represents a response for the query NSD operation.
      type: object
Giacomo Bernini's avatar
fix  
Giacomo Bernini committed
218
219
220
221
222
223
224
      oneOf:
        - required:
          - id
          - nsdOnboardingState
          - nsdOperationalState
          - nsdUsageState
          - _links
225
          - vnfPkgId
Giacomo Bernini's avatar
fix  
Giacomo Bernini committed
226
227
228
229
230
231
        - required:
          - id
          - nsdOnboardingState
          - nsdOperationalState
          - nsdUsageState
          - _links
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
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
          - nestedNsdInfoId
      properties:
        id:
          description: >
            Identifier of the on boarded individual NS descriptor
            resource. This identifier is allocated by the NFVO.
          $ref: "../components/SOL011_schemas.yaml#/components/schemas/Identifier"
        nsdId:
          description: >
            This identifier, which is allocated by the NSD
            designer, identifies the NSD in a globally unique
            way. It is copied from the NSD content and shall be
            present after the NSD content is on-boarded.
          $ref: "../components/SOL011_schemas.yaml#/components/schemas/Identifier"
        nsdName:
          type: string
          description: >
            Name of the on boarded NSD. This information is copied from the
            NSD content and shall be present after the NSD content is on-boarded.
        nsdVersion:
          description: >
            Version of the on-boarded NSD. This information is
            copied from the NSD content and shall be present
            after the NSD content is on-boarded.
          $ref: "../components/SOL011_schemas.yaml#/components/schemas/Version"
        nsdDesigner:
          type: string
          description: >
            Designer of the on-boarded NSD. This information is copied
            from the NSD content and shall be present after the NSD content is on-boarded.
        nsdInvariantId:
          description: >
            This identifier, which is allocated by the NSD
            designer, identifies an NSD in a version independent
            manner. This information is copied from the NSD
            content and shall be present after the NSD content is
            on-boarded.
          $ref: "../components/SOL011_schemas.yaml#/components/schemas/Identifier"
        vnfPkgIds:
          description: >
            Identifies the VNF package for the VNFD referenced
            by the on-boarded NS descriptor resource.
          type: array
          items:
            $ref: "../components/SOL011_schemas.yaml#/components/schemas/Identifier"
        pnfdInfoIds:
          description: >
            Identifies the PnfdInfo element for the PNFD
            referenced by the on-boarded NS descriptor
            resource.
          type: array
          items:
            $ref: "../components/SOL011_schemas.yaml#/components/schemas/Identifier"
        nestedNsdInfoIds:
          description: >
            Identifies the NsdInfo element for the nested NSD
            referenced by the on-boarded NS descriptor
            resource.
          type: array
          items:
            $ref: "../components/SOL011_schemas.yaml#/components/schemas/Identifier"
        nsdOnboardingState:
          description: >
            On boarding state of the individual NS descriptor resource.
          $ref: "#/components/schemas/NsdOnboardingStateType"
        onboardingFailureDetails:
          description: >
            Failure details of current on boarding procedure. See
            clause 6.3 of ETSI GS NFV-SOL 013 for the details of "ProblemDetails"
            structure.
            It shall be present when the "nsdOnboardingState"
            attribute is CREATED and the uploading or
            processing fails in NFVO.
          $ref: "../components/SOL011_schemas.yaml#/components/schemas/ProblemDetails"
        nsdOperationalState:
          description: >
            Operational state of the individual NS descriptor
            resource. This attribute can be modified with the
            PATCH method.
          $ref: "#/components/schemas/NsdOperationalStateType"
        nsdUsageState:
          description: >
            Usage state of the individual NS descriptor resource.
          $ref: "#/components/schemas/NsdUsageStateType"
        userDefinedData:
          description: >
            User defined data for the individual NS descriptor
            resource. This attribute can be modified with the
            PATCH method.
          $ref: "../components/SOL011_schemas.yaml#/components/schemas/KeyValuePairs"
        _links:
          type: object
          required:
            - self
            - nsd_content
          description: >
            Links to resources related to this resource.
          properties:
            self:
              description: >
                URI of this resource.
              $ref: "../components/SOL011_schemas.yaml#/components/schemas/Link"
            nsd_content:
              description: >
                Link to the NSD content resource.
              $ref: "../components/SOL011_schemas.yaml#/components/schemas/Link"

    NsdOperationalStateType:
      type: string
      description: >
        The enumeration NsdOperationalStateType shall comply with the provisions
        defined in Table 5.5.4.3-1 of GS NFV_SOL 005. It indicates the operational
        state of the resource.
        ENABLED = The operational state of the resource is enabled.
        DISABLED = The operational state of the resource is disabled.
      enum:
        - ENABLED
        - DISABLED

    NsdUsageStateType:
      type: string
      description: >
        The enumeration NsdUsageStateType shall comply with the provisions
        defined in Table 5.5.4.4-1 of GS NFV-SOL 005. It indicates the usage state
        of the resource.IN_USE = The resource is in use.NOT_IN_USE = The resource
        is not-in-use.
      enum:
        - IN_USE
        - NOT_IN_USE

    NsdOnboardingStateType:
      type: string
      description: >
        The enumeration NsdOnboardingStateType shall comply with the provisions
        defined in Table 5.5.4.5-1 of GS NFV-SOL 005. It indicates the on-boarding
        state of the NSD.
        CREATED = The NSD information object is created.
        UPLOADING = The associated NSD content is being uploaded.
        PROCESSING = The associated NSD content is being processed, e.g. validation.
        ONBOARDED = The associated NSD content is on-boarded.
      enum:
        - CREATED
        - UPLOADING
        - PROCESSING
        - ONBOARDED