summaryrefslogtreecommitdiffstats
path: root/docs/api/swagger/ncmp/openapi-inventory.yaml
blob: 154a4411da7bdddade5fe34d155c2764c996cefd (plain)
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
openapi: 3.0.1
info:
  title: NCMP Inventory API
  description: NCMP Inventory API
  version: "1.0"
servers:
- url: /ncmpInventory
paths:
  /v1/ch:
    post:
      tags:
      - network-cm-proxy-inventory
      summary: DMI notifies NCMP of new CM Handles
      description: "Register a DMI Plugin with any new, updated or removed CM Handles."
      operationId: updateDmiPluginRegistration
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RestDmiPluginRegistration'
        required: true
      responses:
        "204":
          description: No Content
          content: {}
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
              example:
                status: 400 BAD_REQUEST
                message: Bad request error message
                details: Bad request error details
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
              example:
                status: 401
                message: Unauthorized error message
                details: Unauthorized error details
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
              example:
                status: 403
                message: Forbidden error message
                details: Forbidden error details
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
              example:
                status: 500
                message: Internal Server Error
                details: Internal Server Error occurred
components:
  schemas:
    RestDmiPluginRegistration:
      type: object
      properties:
        dmiPlugin:
          type: string
          example: my-dmi-plugin
          default: ""
        dmiDataPlugin:
          type: string
          example: my-dmi-data-plugin
          default: ""
        dmiModelPlugin:
          type: string
          example: my-dmi-model-plugin
          default: ""
        createdCmHandles:
          type: array
          items:
            $ref: '#/components/schemas/RestInputCmHandle'
        updatedCmHandles:
          type: array
          example:
            cmHandle: my-cm-handle
            cmHandleProperties:
              add-my-property: add-property
              update-my-property: updated-property
              delete-my-property: ~
            publicCmHandleProperties:
              add-my-property: add-property
              update-my-property: updated-property
              delete-my-property: ~
          items:
            $ref: '#/components/schemas/RestInputCmHandle'
        removedCmHandles:
          type: array
          items:
            type: string
            example: "[\"my-cm-handle1\",\"my-cm-handle2\",\"my-cm-handle3\"]"
    RestInputCmHandle:
      required:
      - cmHandle
      type: object
      properties:
        cmHandle:
          type: string
          example: my-cm-handle
        cmHandleProperties:
          $ref: '#/components/schemas/RestCmHandleProperties'
        publicCmHandleProperties:
          $ref: '#/components/schemas/RestCmHandleProperties'
    RestCmHandleProperties:
      type: object
      additionalProperties:
        type: string
        example: my-property
    ErrorMessage:
      title: Error
      type: object
      properties:
        status:
          type: string
        message:
          type: string
        details:
          type: string