VNFLifecycleManagement.yaml 96.7 KB
Newer Older
2001
        202:
2002
2003
2004
2005
2006
          description: >
            202 ACCEPTED

            The request was accepted for processing, but processing has not been completed.
            The response shall have an empty payload body.
2007
          headers:
2008
            #TODO: Add headers defined in 4.3.4.3
2009
2010
2011
2012
2013
2014
2015
2016
            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.
              type: string
              maximum: 1
              minimum: 0
2017
2018
2019
2020
2021
            Version:
              description: The used API version.
              type: string
              maximum: 1
              minimum: 1
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
        400:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
        401:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
        403:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
        404:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
        405:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
        406:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
        409:
          description: >
            409 CONFLICT

            Error: The operation cannot be executed currently, due to a conflict with the state of
            the VNF LCM operation occurrence resource.
            Typically, this is due to the fact that the operation occurrence is not in STARTING,
            PROCESSING or ROLLING_BACK state.
            The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall
            convey more information about the error.
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/409"
        416:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416"
        422:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422"
        429:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429"
2051
2052
2053
2054
        500:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
        503:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
2055
2056
2057
2058
2059
2060
        504:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"

  ###############################################################################
  # Subscriptions                                                               #
  ###############################################################################
2061
2062
  '/subscriptions':
    #SOL003 location: 5.4.18
2063
2064
2065
2066
2067
2068
2069
    parameters:
      - name: Version
        description: >
          Version of the API requested to use when responding to this request.
        in: header
        required: true
        type: string
2070
2071
2072
2073
2074
2075
2076
      - name: Authorization
        description: >
          The authorization token for the request.
          Reference: IETF RFC 7235
        in: header
        required: false
        type: string
2077
    post:
2078
2079
2080
2081
      description: >
        The POST method creates a new subscription.
      parameters:
        - name: LccnSubscriptionRequest
2082
          description: >
2083
2084
2085
2086
2087
2088
2089
            Details of the subscription to be created.
          in: body
          required: true
          schema:
            $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LccnSubscriptionRequest"
      responses:
        201:
2090
          description: >
2091
            201 CREATED
Gergely Csatari's avatar
Gergely Csatari committed
2092

2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
            The subscription was created successfully. The response body shall
            contain a representation of the created subscription resource.
            The HTTP response shall include a "Location" HTTP header that
            points to the created subscription resource.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
            Location:
              description: The resource URI of the created VNF instance
              type: string
              format: url
            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.
              type: string
              maximum: 1
              minimum: 0
2115
2116
2117
2118
2119
            Version:
              description: The used API version.
              type: string
              maximum: 1
              minimum: 1
2120
2121
          schema:
            $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LccnSubscription"
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
        303:
          description: >
            303 SEE OTHER

            A subscription with the same callbackURI and the same filter already exists and the policy of the VNFM
            is to not create redundant subscriptions.
            The HTTP response shall include a "Location" HTTP header that contains the resource URI of the existing
            subscription resource.
            The response body shall be empty.
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/303"
2132
2133
2134
2135
2136
2137
2138
        400:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
        401:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
        403:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
        404:
2139
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
2140
2141
2142
2143
        405:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
        406:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
2144
2145
2146
2147
2148
2149
        416:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416"
        422:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422"
        429:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429"
2150
2151
2152
2153
        500:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
        503:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
2154
2155
        504:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"
2156
    get:
2157
2158
2159
2160
      description: >
        The GET method queries the list of active subscriptions of the
        functional block that invokes the method. It can be used e.g. for
        resynchronization after error situations.
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
      parameters:
        - name: filter
          description: >
            Attribute-based filtering expression according to clause 4.3.2.
            The VNFM shall support receiving this parameter as part of the URI query string.
            The EM may supply this parameter. All attribute names that appear in the LccnSubscription
            and in data types referenced from it shall be supported by the VNFM in the filter expression.

            EXAMPLE
            objects
            obj1: {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]}
            obj2: {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]}

            Request 1:
            GET …/container

            Response 1:
            [
                {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]},
                {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]}
            ]

            Request 2:
            GET …/container?filter=(eq.weight,100)

            Response 2:
            [
                {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]}
            ]
          #Request 2 in EXAMPLE from clause 4.3.2 probably wrong, since "," should be used after opOne (eq), "." is used
          in: query
          required: false
          type: string
2194
2195
      responses:
        200:
2196
          description: >
2197
            200 OK
Gergely Csatari's avatar
Gergely Csatari committed
2198

2199
2200
2201
2202
            The list of subscriptions was queried successfully.
            The response body shall contain in an array the representations of all active subscriptions
            of the functional block that invokes the method, i.e. zero or more representations of lifecycle
            change notification subscriptions as defined in clause 5.5.2.16.
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              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.
              type: string
              maximum: 1
              minimum: 0
2217
2218
2219
2220
2221
            Version:
              description: The used API version.
              type: string
              maximum: 1
              minimum: 1
2222
2223
2224
          schema:
            $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LccnSubscription"
        400:
2225
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
2226
2227
2228
2229
2230
        401:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
        403:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
        404:
2231
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
2232
2233
2234
2235
        405:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
        406:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
2236
2237
2238
2239
2240
2241
        416:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416"
        422:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422"
        429:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429"
2242
2243
2244
2245
        500:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
        503:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
2246
2247
2248
2249
2250
2251
        504:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"

  ###############################################################################
  # Individual subscription                                                     #
  ###############################################################################
2252
2253
2254
2255
  '/subscriptions/{subscriptionId}':
    #SOL003 location: 5.4.19
    parameters:
      - name: subscriptionId
2256
        description: >
2257
2258
2259
2260
2261
2262
2263
2264
          Identifier of this subscription.
          This identifier can be retrieved from the resource referenced by
          the "Location" HTTP header in the response to a POST request
          creating a new subscription resource. It can also be retrieved from
          the "id" attribute in the payload body of that response.
        in: path
        type: string
        required: true
2265
2266
2267
2268
2269
2270
      - name: Version
        description: >
          Version of the API requested to use when responding to this request.
        in: header
        required: true
        type: string
2271
2272
2273
2274
2275
2276
2277
      - name: Authorization
        description: >
          The authorization token for the request.
          Reference: IETF RFC 7235
        in: header
        required: false
        type: string
2278
2279
2280
2281
2282
2283
    get:
      description: >
        The GET method retrieves information about a subscription by reading
        an individual subscription resource.
      responses:
        200:
2284
          description: >
2285
            200 OK
Gergely Csatari's avatar
Gergely Csatari committed
2286

2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
            The operation has completed successfully.
            The response body shall contain a representation of the
            subscription resource.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              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.
              type: string
              maximum: 1
              minimum: 0
2304
2305
2306
2307
2308
            Version:
              description: The used API version.
              type: string
              maximum: 1
              minimum: 1
2309
2310
2311
2312
2313
2314
2315
2316
2317
          schema:
            $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LccnSubscription"
        400:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
        401:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
        403:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
        404:
2318
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
2319
2320
2321
2322
        405:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
        406:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
2323
2324
2325
2326
2327
2328
        416:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416"
        422:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422"
        429:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429"
2329
2330
2331
2332
        500:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
        503:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
2333
2334
        504:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"
2335
2336
2337
2338
2339
    delete:
      description: >
        The DELETE method terminates an individual subscription.
      responses:
        204:
2340
          description: >
2341
            204 NO CONTENT
Gergely Csatari's avatar
Gergely Csatari committed
2342

2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
            The subscription resource was deleted 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.
              type: string
              maximum: 1
              minimum: 0
2354
2355
2356
2357
2358
            Version:
              description: The used API version.
              type: string
              maximum: 1
              minimum: 1
2359
2360
2361
2362
2363
2364
2365
        400:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
        401:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
        403:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
        404:
2366
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
2367
2368
2369
2370
        405:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
        406:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
2371
2372
2373
2374
2375
2376
        416:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416"
        422:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422"
        429:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429"
2377
2378
2379
2380
        500:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
        503:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
2381
2382
        504:
          $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"
For faster browsing, not all history is shown. View entire blame