VNFPerformanceManagementNotification.yaml 10.9 KB
Newer Older
1
openapi: 3.0.2
2 3

info:
4
  title: SOL003 - VNF Performance Management Notification interface
5
  description: |
6 7
    SOL003 - VNF Performance 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
  license:
16
    name: ETSI Forge copyright notice
17
    url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
18
  version: 2.1.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/v2
  - url: https://127.0.0.1/callback/v2
27 28

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

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

91 92 93
  ###############################################################################
  # Notification endpoint ThresholdCrossedNotification                          #
  ###############################################################################
94
  /URI-is-provided-by-the-client-when-creating-the-subscription-ThresholdCrossedNotification:
95
    #SOL003 location: 6.4.9
96 97 98
    parameters:
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
      - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
99
    post:
100
      description: |
101 102
        Notify.
        The POST method delivers a notification regarding a performance management
103
        event from the API producer to an API consumer.
104 105 106
        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 6.4.9.3.1-1 and 6.4.9.3.1-2
        for URI query parameters, request and response data structures, and response codes.
107
      parameters:
108 109 110
        - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType
      requestBody:
        $ref: '#/components/requestBodies/ThresholdCrossedNotification'
111 112
      responses:
        204:
113
          $ref: '#/components/responses/ThresholdCrossedNotification.Post.204'
114
        400:
f.moscatelli's avatar
f.moscatelli committed
115
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
116
        401:
f.moscatelli's avatar
f.moscatelli committed
117
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
118
        403:
f.moscatelli's avatar
f.moscatelli committed
119
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
120
        405:
f.moscatelli's avatar
f.moscatelli committed
121
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
122
        406:
f.moscatelli's avatar
f.moscatelli committed
123
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
124
        500:
f.moscatelli's avatar
f.moscatelli committed
125
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
126
        503:
f.moscatelli's avatar
f.moscatelli committed
127
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
128

129
    get:
130
      description: |
131 132
        The GET method allows the API producer to test the notification endpoint that is provided 
        by the API consumer e.g. during subscription.
133 134
        This method shall follow the provisions specified in the tables 6.4.9.3.2-1 and 6.4.9.3.2-2
        for URI query parameters, request and response data structures, and response codes.
135 136
      responses:
        204:
137
          $ref: '#/components/responses/ThresholdCrossedNotification.Get.204'
138
        400:
f.moscatelli's avatar
f.moscatelli committed
139
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
140
        401:
f.moscatelli's avatar
f.moscatelli committed
141
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
142
        403:
f.moscatelli's avatar
f.moscatelli committed
143
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/403"
144
        405:
f.moscatelli's avatar
f.moscatelli committed
145
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
146
        406:
f.moscatelli's avatar
f.moscatelli committed
147
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
148
        500:
f.moscatelli's avatar
f.moscatelli committed
149
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
150
        503:
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 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
          $ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"

components:
  requestBodies:
    PerformanceInformationAvailableNotification:
      description: |
        Notification about performance information availability.
      content:
        application/json:
          schema:
            $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/PerformanceInformationAvailableNotification"
      required: true

    ThresholdCrossedNotification:
      description: |
        Notification about performance information availability.
      content:
        application/json:
          schema:
            $ref: "../../definitions/SOL002SOL003VNFPerformanceManagement_def.yaml#/definitions/ThresholdCrossedNotification"
      required: true

  responses:
    PerformanceInformationAvailableNotification.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: |
            Version of the API used in the response.
          style: simple
          explode: false
          schema:
            type: string

    PerformanceInformationAvailableNotification.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: |
            Version of the API used in the response.
          style: simple
          explode: false
          schema:
            type: string

    ThresholdCrossedNotification.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: |
            Version of the API used in the response.
          style: simple
          explode: false
          schema:
            type: string

    ThresholdCrossedNotification.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: |
            Version of the API used in the response.
          style: simple
          explode: false
          schema:
            type: string