components:
  schemas:
    ErrorMessage:
      type: object
      title: Error
      properties:
        status:
          type: string
        message:
          type: string
        details:
          type: string

    CmHandles:
      type: object
      properties:
        cmHandles:
          type: array
          items:
            type: string

    DmiReadRequestBody:
      type: object
      properties:
        operation:
          type: string
          enum: [read]
        data:
          type: object
          properties:
            modules:
              type: array
              items:
                type: object
                properties:
                  name:
                    type: string
                  revision:
                    type: string
        cmHandleProperties:
          type: object
          additionalProperties:
            type: string
            example: system-001

    ModuleSet:
      type: object
      properties:
        schemas:
          type: array
          items:
            type: object
            properties:
              moduleName:
                type: string
              revision:
                type: string
              namespace:
                type: string

    DataAccessReadRequest:
      type: object
      properties:
        operation:
          type: string
          enum: [ read ]
        cmHandleProperties:
          type: object
          additionalProperties:
            type: string

    DataAccessWriteRequest:
      type: object
      properties:
        operation:
          type: string
          enum: [ create ]
        dataType:
          type: string
        data:
          type: object
        cmHandleProperties:
          type: object
          additionalProperties:
            type: string

  responses:
    NotFound:
      description: The specified resource was not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
    Unauthorized:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
    Forbidden:
      description: Forbidden
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
    BadRequest:
      description: Bad Request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
    Conflict:
      description: Conflict
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
    Ok:
      description: OK
      content:
        application/json:
          schema:
            type: object
    Created:
      description: Created
      content:
        text/plain:
          schema:
            type: string
    NoContent:
      description: No Content
      content: {}

  parameters:
    cmHandleInPath:
      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

    resourceIdentifierInPath:
      name: resourceIdentifier
      in: path
      description: Resource identifier to get/set the resource data
      required: true
      schema:
        type: string

    acceptParamInHeader:
      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 ]

    fieldsParamInQuery:
      name: fields
      in: query
      description: Fields parameter to filter resource
      required: false
      schema:
        type: string

    depthParamInQuery:
      name: depth
      in: query
      description: Depth parameter for response
      required: false
      schema:
        type: integer
        minimum: 1