diff options
-rwxr-xr-x | docker-compose/docker-compose.yml | 3 | ||||
-rw-r--r-- | docs/api/swagger/openapi.yaml | 464 | ||||
-rw-r--r-- | docs/design.rst | 2 | ||||
-rw-r--r-- | openapi/components.yml (renamed from docs/openapi/components.yml) | 0 | ||||
-rw-r--r-- | openapi/openapi.yml (renamed from docs/openapi/openapi.yml) | 2 | ||||
-rw-r--r-- | pom.xml | 4 |
6 files changed, 471 insertions, 4 deletions
diff --git a/docker-compose/docker-compose.yml b/docker-compose/docker-compose.yml index a9229e98..bec9bfec 100755 --- a/docker-compose/docker-compose.yml +++ b/docker-compose/docker-compose.yml @@ -37,4 +37,7 @@ services: SDNC_PORT: ${SDNC_PORT:-8181} SDNC_USERNAME: ${SDNC_USERNAME:-admin} SDNC_PASSWORD: ${SDNC_PASSWORD:-Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U} + DMI_SERVICE_URL: ${DMI_SERVICE_URL:-http://ncmp-dmi-plugin:8783} + DMI_USERNAME: "cpsuser" + DMI_PASSWORD: "cpsr0cks!" restart: unless-stopped diff --git a/docs/api/swagger/openapi.yaml b/docs/api/swagger/openapi.yaml new file mode 100644 index 00000000..750091b4 --- /dev/null +++ b/docs/api/swagger/openapi.yaml @@ -0,0 +1,464 @@ +openapi: 3.0.1 +info: + title: NCMP DMI Plugin + description: Adds Data Model Inventory Registry capability for ONAP + version: 1.0.0 +servers: +- url: /dmi +tags: +- name: dmi-plugin-internal + description: DMI plugin internal rest apis +- name: dmi-plugin + description: DMI plugin rest apis +paths: + /v1/ch/{cmHandle}/modules: + post: + tags: + - dmi-plugin + summary: Get all modules for cm handle + description: Get all modules for given cm handle + operationId: getModuleReferences + parameters: + - name: cmHandle + in: path + description: The cm handle to fetch all the modules + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: Operational body + content: + application/json: + schema: + $ref: '#/components/schemas/ModuleReferencesRequest' + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ModuleSet' + "400": + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + /v1/inventory/cmHandles: + post: + tags: + - dmi-plugin-internal + summary: register given list of cm handles (internal use only) + description: register given list of cm handles (internal use only) + operationId: registerCmHandles + requestBody: + description: list of cm handles + content: + application/json: + schema: + $ref: '#/components/schemas/CmHandles' + required: true + responses: + "201": + description: Created + content: + text/plain: + schema: + type: string + "400": + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + x-api-audience: component-internal + /v1/ch/{cmHandle}/moduleResources: + post: + tags: + - dmi-plugin + summary: Retrieve module resources + description: Retrieve module resources for one or more modules + operationId: retrieveModuleResources + parameters: + - name: cmHandle + in: path + description: The identifier for a network function, network element, subnetwork, + or any other cm object by managed Network CM Proxy + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ModuleResourcesReadRequest' + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/YangResources' + "400": + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + /v1/ch/{cmHandle}/data/ds/ncmp-datastore:passthrough-operational: + put: + tags: + - dmi-plugin + summary: Get resource data from passthrough-operational for cm handle + description: Get resource data from passthrough-operational for cm handle + operationId: getResourceDataOperationalForCmHandle + parameters: + - name: cmHandle + in: path + description: The identifier for a network function, network element, subnetwork, + or any other cm object by managed Network CM Proxy + required: true + schema: + type: string + - name: resourceIdentifier + in: query + description: Resource identifier to get/set the resource data + required: true + allowReserved: true + schema: + type: string + - name: accept + in: header + description: Accept parameter for response, if accept parameter is null, that + means client can accept any format. + schema: + type: string + enum: + - application/json + - application/yang-data+json + - name: options + in: query + description: options parameter in query, it is mandatory to wrap key(s)=value(s) + in parenthesis'()'. + required: false + allowReserved: true + schema: + type: string + examples: + sample1: + value: + options: (key1=value1,key2=value2) + sample2: + value: + options: (key1=value1,key2=value1/value2) + sample3: + value: + options: (key1=10,key2=value2,key3=[val31,val32]) + requestBody: + description: Operational body + content: + application/json: + schema: + $ref: '#/components/schemas/DataAccessReadRequest' + responses: + "200": + description: OK + content: + application/json: + schema: + type: object + "400": + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + /v1/ch/{cmHandle}/data/ds/ncmp-datastore:passthrough-running: + put: + tags: + - dmi-plugin + summary: Get resource data from passthrough-running for cm handle + description: Get resource data from passthrough-running for cm handle + operationId: getResourceDataPassthroughRunningForCmHandle + parameters: + - name: cmHandle + in: path + description: The identifier for a network function, network element, subnetwork, + or any other cm object by managed Network CM Proxy + required: true + schema: + type: string + - name: resourceIdentifier + in: query + description: Resource identifier to get/set the resource data + required: true + allowReserved: true + schema: + type: string + - name: accept + in: header + description: Accept parameter for response, if accept parameter is null, that + means client can accept any format. + schema: + type: string + enum: + - application/json + - application/yang-data+json + - name: options + in: query + description: options parameter in query, it is mandatory to wrap key(s)=value(s) + in parenthesis'()'. + required: false + allowReserved: true + schema: + type: string + examples: + sample1: + value: + options: (key1=value1,key2=value2) + sample2: + value: + options: (key1=value1,key2=value1/value2) + sample3: + value: + options: (key1=10,key2=value2,key3=[val31,val32]) + requestBody: + description: Operational body + content: + application/json: + schema: + $ref: '#/components/schemas/DataAccessReadRequest' + responses: + "200": + description: OK + content: + application/json: + schema: + type: object + "400": + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + post: + tags: + - dmi-plugin + summary: Write data for a cmHandle + description: Write data for a cmHandle using passthrough-running + operationId: writeDataByPassthroughRunningForCmHandle + parameters: + - name: cmHandle + in: path + description: The identifier for a network function, network element, subnetwork, + or any other cm object by managed Network CM Proxy + required: true + schema: + type: string + - name: resourceIdentifier + in: query + description: Resource identifier to get/set the resource data + required: true + allowReserved: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DataAccessWriteRequest' + required: true + responses: + "201": + description: Created + content: + text/plain: + schema: + type: string + "400": + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' +components: + schemas: + ModuleReferencesRequest: + type: object + properties: + cmHandleProperties: + $ref: '#/components/schemas/cmHandleProperties' + cmHandleProperties: + type: object + additionalProperties: + type: string + example: '{"prop1":"value1","prop2":"value2"}' + ModuleSet: + type: object + properties: + schemas: + type: array + items: + $ref: '#/components/schemas/ModuleSet_schemas' + revision: + type: string + example: someRevision + ErrorMessage: + title: Error + type: object + properties: + status: + type: string + message: + type: string + details: + type: string + CmHandles: + type: object + properties: + cmHandles: + type: array + items: + type: string + ModuleResourcesReadRequest: + type: object + properties: + data: + $ref: '#/components/schemas/ModuleResourcesReadRequest_data' + cmHandleProperties: + $ref: '#/components/schemas/cmHandleProperties' + name: + type: string + example: someName + YangResources: + type: array + items: + $ref: '#/components/schemas/YangResource' + YangResource: + properties: + yangSource: + type: string + moduleName: + type: string + revision: + $ref: '#/components/schemas/revision' + DataAccessReadRequest: + type: object + properties: + operation: + type: string + enum: + - read + cmHandleProperties: + $ref: '#/components/schemas/cmHandleProperties' + DataAccessWriteRequest: + type: object + properties: + operation: + type: string + enum: + - create + dataType: + type: string + data: + type: string + cmHandleProperties: + $ref: '#/components/schemas/cmHandleProperties' + ModuleSet_schemas: + type: object + properties: + moduleName: + type: string + revision: + $ref: '#/components/schemas/revision' + namespace: + type: string + ModuleResourcesReadRequest_data_modules: + type: object + properties: + name: + $ref: '#/components/schemas/name' + revision: + $ref: '#/components/schemas/revision' + ModuleResourcesReadRequest_data: + type: object + properties: + modules: + type: array + items: + $ref: '#/components/schemas/ModuleResourcesReadRequest_data_modules' diff --git a/docs/design.rst b/docs/design.rst index d0d4b87f..9326fd3d 100644 --- a/docs/design.rst +++ b/docs/design.rst @@ -17,7 +17,7 @@ Offered APIs The DMI-Plugin supports the public APIs listed in the link below: -:download:`DMI Rest OpenApi Specification <openapi/openapi.yaml>` +:download:`DMI Rest OpenApi Specification <api/swagger/openapi.yaml>` View Offered APIs ----------------- diff --git a/docs/openapi/components.yml b/openapi/components.yml index 30e5987f..30e5987f 100644 --- a/docs/openapi/components.yml +++ b/openapi/components.yml diff --git a/docs/openapi/openapi.yml b/openapi/openapi.yml index 83c05abb..0f43f9a5 100644 --- a/docs/openapi/openapi.yml +++ b/openapi/openapi.yml @@ -22,7 +22,7 @@ info: description: Adds Data Model Inventory Registry capability for ONAP version: "1.0.0" servers: - - url: //localhost:8088/ + - url: /dmi tags: - name: dmi-plugin-internal description: DMI plugin internal rest apis @@ -164,7 +164,7 @@ <goal>generate</goal> </goals> <configuration> - <inputSpec>${project.basedir}/docs/openapi/openapi.yml</inputSpec> + <inputSpec>${project.basedir}/openapi/openapi.yml</inputSpec> <language>spring</language> <generateSupportingFiles>false</generateSupportingFiles> <apiPackage>org.onap.cps.ncmp.dmi.rest.api</apiPackage> @@ -184,7 +184,7 @@ </goals> <phase>compile</phase> <configuration> - <inputSpec>${project.basedir}/docs/openapi/openapi.yml</inputSpec> + <inputSpec>${project.basedir}/openapi/openapi.yml</inputSpec> <language>openapi-yaml</language> </configuration> </execution> |