openapi: 3.0.1
info:
  contact:
    email: onap-discuss@lists.onap.org
    name: ONAP
    url: https://onap.readthedocs.io
  description: SDC API for retrieval for service models (SDCE-7)
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0
  title: "SPC API: SDCE-7"
  version: "1.0"
servers:
- description: SDCE-7 APIs
  url: /sdc
paths:
  /v1/catalog/abstract/service/serviceUUID/{uuid}/copy:
    post:
      description: Copy a new service based on the existing service
      operationId: copyExistService
      parameters:
      - description: The user id
        in: header
        name: USER_ID
        required: true
        schema:
          type: string
      - description: X-ECOMP-RequestID header
        in: header
        name: X-ECOMP-RequestID
        schema:
          type: string
      - description: X-ECOMP-InstanceID header
        in: header
        name: X-ECOMP-InstanceID
        required: true
        schema:
          type: string
      - description: Determines the format of the body of the response
        in: header
        name: Accept
        schema:
          type: string
      - description: The username and password
        in: header
        name: Authorization
        required: true
        schema:
          type: string
      - description: The requested asset uuid
        in: path
        name: uuid
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AbstractTemplateInfo'
          description: ECOMP component is authenticated and list of Catalog Assets
            Metadata is returned
        "400":
          description: Missing  'X-ECOMP-InstanceID'  HTTP header - POL5001
        "401":
          description: ECOMP component  should authenticate itself  and  to  re-send  again  HTTP  request  with
            its Basic Authentication credentials - POL5002
        "403":
          description: ECOMP component is not authorized - POL5003
        "404":
          description: "Error: Requested '%1' (uuid) resource was not found - SVC4063"
        "405":
          description: "Method  Not Allowed  :  Invalid HTTP method type used ( PUT,DELETE,POST\
            \ will be rejected) - POL4050"
        "409":
          description: Service already exist
        "500":
          description: The GET request failed either due to internal SDC problem.
            ECOMP Component should continue the attempts to get the needed information
            - POL5000
      servers:
      - url: /sdc
        variables: {}
      summary: Return whether the copy service is successful
      tags:
      - SDCE-7 APIs
  /v1/catalog/abstract/service/serviceUUID/{uuid}/status:
    get:
      description: Fetch abstract status of service
      operationId: getServiceAbstractStatus
      parameters:
      - description: X-ECOMP-RequestID header
        in: header
        name: X-ECOMP-RequestID
        schema:
          type: string
      - description: X-ECOMP-InstanceID header
        in: header
        name: X-ECOMP-InstanceID
        required: true
        schema:
          type: string
      - description: Determines the format of the body of the response
        in: header
        name: Accept
        schema:
          type: string
      - description: The username and password
        in: header
        name: Authorization
        required: true
        schema:
          type: string
      - description: The requested asset uuid
        in: path
        name: uuid
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AbstractTemplateInfo'
          description: The check result of whether the service is an abstract service
            is returned
        "400":
          description: Missing  'X-ECOMP-InstanceID'  HTTP header - POL5001
        "401":
          description: ECOMP component  should authenticate itself  and  to  re-send  again  HTTP  request  with
            its Basic Authentication credentials - POL5002
        "403":
          description: ECOMP component is not authorized - POL5003
        "404":
          description: "Error: Requested '%1' (uuid) resource was not found - SVC4063"
        "405":
          description: "Method  Not Allowed  :  Invalid HTTP method type used ( PUT,DELETE,POST\
            \ will be rejected) - POL4050"
        "500":
          description: The GET request failed either due to internal SDC problem.
            ECOMP Component should continue the attempts to get the needed information
            - POL5000
      servers:
      - url: /sdc
        variables: {}
      summary: Return whether the service is a virtual service
      tags:
      - SDCE-7 APIs
  /v1/catalog/services/{serviceName}/{serviceVersion}/artifacts/{artifactName}:
    get:
      description: Download service artifact
      operationId: downloadServiceArtifact
      parameters:
      - description: X-ECOMP-RequestID header
        in: header
        name: X-ECOMP-RequestID
        schema:
          type: string
      - description: X-ECOMP-InstanceID header
        in: header
        name: X-ECOMP-InstanceID
        required: true
        schema:
          type: string
      - description: Determines the format of the body of the response
        in: header
        name: Accept
        schema:
          type: string
      - description: The username and password
        in: header
        name: Authorization
        required: true
        schema:
          type: string
      - in: path
        name: serviceName
        required: true
        schema:
          type: string
      - in: path
        name: serviceVersion
        required: true
        schema:
          type: string
      - in: path
        name: artifactName
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/octet-stream:
              schema:
                type: array
                items:
                  type: string
          description: The artifact is found and streamed.
        "400":
          description: Missing  'X-ECOMP-InstanceID'  HTTP header - POL5001
        "401":
          description: ECOMP component  should authenticate itself  and  to  re-send  again  HTTP  request  with
            its Basic  Authentication credentials - POL5002
        "403":
          description: ECOMP component is not authorized - POL5003
        "404":
          description: Specified artifact is  not found - SVC4505
        "405":
          description: "Method  Not Allowed: Invalid HTTP method type used (PUT,DELETE,POST\
            \ will be rejected) - POL4050"
        "500":
          description: The GET request failed either due to internal SDC problem or
            Cambria Service failure. ECOMP Component should continue the attempts
            to get the needed information - POL5000
        default:
          content:
            application/octet-stream:
              schema:
                type: array
                items:
                  type: string
          description: default response
      servers:
      - url: /sdc
        variables: {}
      summary: Returns downloaded artifact
      tags:
      - SDCE-7 APIs
  /v1/catalog/services/{serviceName}/{serviceVersion}/resourceInstances/{resourceInstanceName}/artifacts/{artifactName}:
    get:
      description: Download resource instance artifact
      operationId: downloadResourceInstanceArtifactByName
      parameters:
      - description: X-ECOMP-RequestID header
        in: header
        name: X-ECOMP-RequestID
        schema:
          type: string
      - description: X-ECOMP-InstanceID header
        in: header
        name: X-ECOMP-InstanceID
        required: true
        schema:
          type: string
      - description: Determines the format of the body of the response
        in: header
        name: Accept
        schema:
          type: string
      - description: The username and password
        in: header
        name: Authorization
        required: true
        schema:
          type: string
      - in: path
        name: serviceName
        required: true
        schema:
          type: string
      - in: path
        name: serviceVersion
        required: true
        schema:
          type: string
      - in: path
        name: resourceInstanceName
        required: true
        schema:
          type: string
      - in: path
        name: artifactName
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/octet-stream:
              schema:
                type: array
                items:
                  type: string
          description: The artifact is found and streamed.
        "400":
          description: Missing  'X-ECOMP-InstanceID'  HTTP header - POL5001
        "401":
          description: ECOMP component  should authenticate itself  and  to  re-send  again  HTTP  request  with
            its Basic  Authentication credentials - POL5002
        "403":
          description: ECOMP component is not authorized - POL5003
        "404":
          description: Specified artifact is  not found - SVC4505
        "405":
          description: "Method  Not Allowed: Invalid HTTP method type used (PUT,DELETE,POST\
            \ will be rejected) - POL4050"
        "500":
          description: The GET request failed either due to internal SDC problem or
            Cambria Service failure. ECOMP Component should continue the attempts
            to get the needed information - POL5000
        default:
          content:
            application/octet-stream:
              schema:
                type: array
                items:
                  type: string
          description: default response
      servers:
      - url: /sdc
        variables: {}
      summary: Returns downloaded artifact
      tags:
      - SDCE-7 APIs
  /v1/catalog/services/{serviceName}/{serviceVersion}/resources/{resourceName}/{resourceVersion}/artifacts/{artifactName}:
    get:
      description: Download resource artifact
      operationId: downloadResourceArtifact
      parameters:
      - description: X-ECOMP-RequestID header
        in: header
        name: X-ECOMP-RequestID
        schema:
          type: string
      - description: X-ECOMP-InstanceID header
        in: header
        name: X-ECOMP-InstanceID
        required: true
        schema:
          type: string
      - description: Determines the format of the body of the response
        in: header
        name: Accept
        schema:
          type: string
      - description: The username and password
        in: header
        name: Authorization
        required: true
        schema:
          type: string
      - in: path
        name: serviceName
        required: true
        schema:
          type: string
      - in: path
        name: serviceVersion
        required: true
        schema:
          type: string
      - in: path
        name: resourceName
        required: true
        schema:
          type: string
      - in: path
        name: resourceVersion
        required: true
        schema:
          type: string
      - in: path
        name: artifactName
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/octet-stream:
              schema:
                type: array
                items:
                  type: string
          description: The artifact is found and streamed.
        "400":
          description: Missing  'X-ECOMP-InstanceID'  HTTP header - POL5001
        "401":
          description: ECOMP component  should authenticate itself  and  to  re-send  again  HTTP  request  with
            its Basic  Authentication credentials - POL5002
        "403":
          description: ECOMP component is not authorized - POL5003
        "404":
          description: Specified artifact is  not found - SVC4505
        "405":
          description: "Method  Not Allowed: Invalid HTTP method type used (PUT,DELETE,POST\
            \ will be rejected) - POL4050"
        "500":
          description: The GET request failed either due to internal SDC problem or
            Cambria Service failure. ECOMP Component should continue the attempts
            to get the needed information - POL5000
        default:
          content:
            application/octet-stream:
              schema:
                type: array
                items:
                  type: string
          description: default response
      servers:
      - url: /sdc
        variables: {}
      summary: Returns downloaded artifact
      tags:
      - SDCE-7 APIs
  /v1/catalog/services/{serviceUUID}/distribution/{opEnvId}/activate:
    post:
      description: activate a service
      operationId: activateServiceExternal
      parameters:
      - description: Determines the format of the body of the request
        in: header
        name: Content-Type
        required: true
        schema:
          type: string
      - description: The user id
        in: header
        name: USER_ID
        required: true
        schema:
          type: string
      - description: X-ECOMP-RequestID header
        in: header
        name: X-ECOMP-RequestID
        schema:
          type: string
      - description: X-ECOMP-InstanceID header
        in: header
        name: X-ECOMP-InstanceID
        required: true
        schema:
          type: string
      - description: Determines the format of the body of the response
        in: header
        name: Accept
        schema:
          type: string
      - description: The username and password
        in: header
        name: Authorization
        required: true
        schema:
          type: string
      - description: The serviceUUid to activate
        in: path
        name: serviceUUID
        required: true
        schema:
          type: string
      - description: The operational environment on which to activate the service
          on
        in: path
        name: opEnvId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: string
      responses:
        "202":
          description: ECOMP component is authenticated and required service may be
            distributed
        "400":
          description: The resource name is missing in the request body - SVC4062
        "401":
          description: ECOMP component  should authenticate itself  and  to  re-send  again  HTTP  request  with
            its Basic Authentication credentials - POL5002
        "403":
          description: ECOMP component is not authorized - POL5003
        "404":
          description: "Error: Requested '%1' (uuid) resource was not found - SVC4063"
        "405":
          description: "Method  Not Allowed  :  Invalid HTTP method type used ( PUT,DELETE,POST\
            \ will be rejected) - POL4050"
        "409":
          description: Service state is invalid for this action
        "500":
          description: The request failed either due to internal SDC problem. ECOMP
            Component should continue the attempts to get the needed information -
            POL5000
        "502":
          description: The server was acting as a gateway or proxy and received an
            invalid response from the upstream server
      servers:
      - url: /sdc
        variables: {}
      summary: Activates a service
      tags:
      - SDCE-7 APIs
  /v1/catalog/{assetType}:
    get:
      description: Fetch list of assets
      operationId: getAssetListExternal
      parameters:
      - description: X-ECOMP-RequestID header
        in: header
        name: X-ECOMP-RequestID
        schema:
          type: string
      - description: X-ECOMP-InstanceID header
        in: header
        name: X-ECOMP-InstanceID
        required: true
        schema:
          type: string
      - description: Determines the format of the body of the response
        in: header
        name: Accept
        schema:
          type: string
      - description: The username and password
        in: header
        name: Authorization
        required: true
        schema:
          type: string
      - description: The requested asset type
        in: path
        name: assetType
        required: true
        schema:
          type: string
          enum:
          - resources
          - services
      - description: The filter key (resourceType only for resources)
        in: query
        name: category
        schema:
          type: string
      - description: The filter key (resourceType only for resources)
        in: query
        name: subCategory
        schema:
          type: string
      - description: The filter key (resourceType only for resources)
        in: query
        name: distributionStatus
        schema:
          type: string
      - description: The filter key (resourceType only for resources)
        in: query
        name: resourceType
        schema:
          type: string
      - description: "Keys of additional metadata to include in the response, not\
          \ all keys are supported. Supported keys: lastUpdateDate, creationDate,\
          \ description, uniqueId and category specific metadata keys"
        in: query
        name: include
        schema:
          type: array
          items:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ServiceAssetMetadata'
          description: ECOMP component is authenticated and list of Catalog Assets
            Metadata is returned
        "400":
          description: Missing  'X-ECOMP-InstanceID'  HTTP header - POL5001
        "401":
          description: ECOMP component  should authenticate itself  and  to  re-send  again  HTTP  request  with
            its Basic Authentication credentials - POL5002
        "403":
          description: ECOMP component is not authorized - POL5003
        "405":
          description: "Method  Not Allowed  :  Invalid HTTP method type used ( PUT,DELETE,POST\
            \ will be rejected) - POL4050"
        "500":
          description: The GET request failed either due to internal SDC problem.
            ECOMP Component should continue the attempts to get the needed information
            - POL5000
      servers:
      - url: /sdc
        variables: {}
      summary: Returns list of assets
      tags:
      - SDCE-7 APIs
    post:
      description: creates an asset (resource or service)
      operationId: createComponentExternal
      parameters:
      - description: Determines the format of the body of the request
        in: header
        name: Content-Type
        required: true
        schema:
          type: string
      - description: The user id
        in: header
        name: USER_ID
        required: true
        schema:
          type: string
      - description: X-ECOMP-RequestID header
        in: header
        name: X-ECOMP-RequestID
        schema:
          type: string
      - description: X-ECOMP-InstanceID header
        in: header
        name: X-ECOMP-InstanceID
        required: true
        schema:
          type: string
      - description: Determines the format of the body of the response
        in: header
        name: Accept
        schema:
          type: string
      - description: The username and password
        in: header
        name: Authorization
        required: true
        schema:
          type: string
      - description: The requested asset type
        in: path
        name: assetType
        required: true
        schema:
          type: string
          enum:
          - "resources, services"
      responses:
        "200":
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Resource'
          description: ECOMP component is authenticated and Asset created
        "400":
          description: Invalid Content. Missing PROJECT_CODE number - SVC4129
        "401":
          description: ECOMP component  should authenticate itself  and  to  re-send  again  HTTP  request  with
            its Basic Authentication credentials - POL5002
        "403":
          description: ECOMP component is not authorized - POL5003
        "404":
          description: "Error: Requested '%1' (uuid) resource was not found - SVC4063"
        "405":
          description: "Method  Not Allowed  :  Invalid HTTP method type used ( PUT,DELETE,POST\
            \ will be rejected) - POL4050"
        "409":
          description: "Error: %1 (Service) with name '%2' already exists. - SVC4050"
        "500":
          description: The GET request failed either due to internal SDC problem.
            ECOMP Component should continue the attempts to get the needed information
            - POL5000
      servers:
      - url: /sdc
        variables: {}
      summary: Creates an asset (resource or service)
      tags:
      - SDCE-7 APIs
  /v1/catalog/{assetType}/{uuid}/artifacts:
    post:
      description: uploads of artifact to a resource or service
      operationId: uploadArtifact
      parameters:
      - description: Determines the format of the body of the request
        in: header
        name: Content-Type
        required: true
        schema:
          type: string
      - description: The value for this header must be the MD5 checksum over the whole
          json body
        in: header
        name: Content-MD5
        required: true
        schema:
          type: string
      - description: The user ID of the DCAE Designer. This user must also have Designer
          role in SDC
        in: header
        name: USER_ID
        required: true
        schema:
          type: string
      - description: X-ECOMP-RequestID header
        in: header
        name: X-ECOMP-RequestID
        schema:
          type: string
      - description: X-ECOMP-InstanceID header
        in: header
        name: X-ECOMP-InstanceID
        required: true
        schema:
          type: string
      - description: Determines the format of the body of the response
        in: header
        name: Accept
        schema:
          type: string
      - description: The username and password
        in: header
        name: Authorization
        required: true
        schema:
          type: string
      - description: The requested asset type
        in: path
        name: assetType
        required: true
        schema:
          type: string
          enum:
          - "resources,services"
      - description: The uuid of the asset as published in the metadata
        in: path
        name: uuid
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ArtifactDefinition'
          description: Artifact uploaded
        "400":
          description: Restricted Operation – the user provided does not have role
            of Designer or the asset is being used by another designer - SVC4301
        "401":
          description: ECOMP component  should authenticate itself  and  to  re-send  again  HTTP  request  with
            its Basic  Authentication credentials - POL5002
        "403":
          description: ECOMP component is not authorized - POL5003
        "404":
          description: Specified resource is not found - SVC4063
        "405":
          description: "Method  Not Allowed: Invalid HTTP method type used (PUT,DELETE,POST\
            \ will be rejected) - POL4050"
        "500":
          description: The GET request failed either due to internal SDC problem or
            Cambria Service failure. ECOMP Component should continue the attempts
            to get the needed information - POL5000
      servers:
      - url: /sdc
        variables: {}
      summary: uploads of artifact to a resource or service
      tags:
      - SDCE-7 APIs
  /v1/catalog/{assetType}/{uuid}/artifacts/{artifactUUID}:
    delete:
      description: deletes an artifact of a resource or service
      operationId: deleteArtifact
      parameters:
      - description: The user ID of the DCAE Designer. This user must also have Designer
          role in SDC
        in: header
        name: USER_ID
        required: true
        schema:
          type: string
      - description: X-ECOMP-RequestID header
        in: header
        name: X-ECOMP-RequestID
        schema:
          type: string
      - description: X-ECOMP-InstanceID header
        in: header
        name: X-ECOMP-InstanceID
        required: true
        schema:
          type: string
      - description: Determines the format of the body of the response
        in: header
        name: Accept
        schema:
          type: string
      - description: The username and password
        in: header
        name: Authorization
        required: true
        schema:
          type: string
      - description: The requested asset type
        in: path
        name: assetType
        required: true
        schema:
          type: string
          enum:
          - "resources,services"
      - description: The uuid of the asset as published in the metadata
        in: path
        name: uuid
        required: true
        schema:
          type: string
      - description: The uuid of the artifact as published in the asset detailed metadata
          or in the response of the upload / update operation
        in: path
        name: artifactUUID
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ArtifactDefinition'
          description: Artifact deleted
        "400":
          description: Artifact name is missing in input - SVC4128
        "401":
          description: ECOMP component  should authenticate itself  and  to  re-send  again  HTTP  request  with
            its Basic  Authentication credentials - POL5002
        "403":
          description: Asset is being edited by different user. Only one user can
            checkout and edit an asset on given time. The asset will be available
            for checkout after the other user will checkin the asset - SVC4086
        "404":
          description: Specified resource is not found - SVC4063
        "405":
          description: "Method  Not Allowed: Invalid HTTP method type used (PUT,DELETE,POST\
            \ will be rejected) - POL4050"
        "409":
          description: Restricted Operation – the user provided does not have role
            of Designer or the asset is being used by another designer - SVC4301
        "500":
          description: The GET request failed either due to internal SDC problem or
            Cambria Service failure. ECOMP Component should continue the attempts
            to get the needed information - POL5000
        default:
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    allowedMethods:
                      type: array
                      items:
                        type: string
                      uniqueItems: true
                    cookies:
                      type: object
                      additionalProperties:
                        type: object
                        properties:
                          comment:
                            type: string
                          domain:
                            type: string
                          expiry:
                            type: string
                            format: date-time
                          httpOnly:
                            type: boolean
                          maxAge:
                            type: integer
                            format: int32
                          name:
                            type: string
                          path:
                            type: string
                          secure:
                            type: boolean
                          value:
                            type: string
                          version:
                            type: integer
                            format: int32
                    date:
                      type: string
                      format: date-time
                    entity:
                      type: object
                    entityTag:
                      type: object
                      properties:
                        value:
                          type: string
                        weak:
                          type: boolean
                    headers:
                      type: object
                      additionalProperties:
                        type: array
                        items:
                          type: object
                    language:
                      type: object
                      properties:
                        country:
                          type: string
                        displayCountry:
                          type: string
                        displayLanguage:
                          type: string
                        displayName:
                          type: string
                        displayScript:
                          type: string
                        displayVariant:
                          type: string
                        extensionKeys:
                          type: array
                          items:
                            type: string
                          uniqueItems: true
                        iso3Country:
                          type: string
                        iso3Language:
                          type: string
                        language:
                          type: string
                        script:
                          type: string
                        unicodeLocaleAttributes:
                          type: array
                          items:
                            type: string
                          uniqueItems: true
                        unicodeLocaleKeys:
                          type: array
                          items:
                            type: string
                          uniqueItems: true
                        variant:
                          type: string
                    lastModified:
                      type: string
                      format: date-time
                    length:
                      type: integer
                      format: int32
                    links:
                      type: array
                      items:
                        type: object
                        properties:
                          params:
                            type: object
                            additionalProperties:
                              type: string
                          rel:
                            type: string
                          rels:
                            type: array
                            items:
                              type: string
                          title:
                            type: string
                          type:
                            type: string
                          uri:
                            type: string
                            format: uri
                          uriBuilder:
                            type: object
                      uniqueItems: true
                    location:
                      type: string
                      format: uri
                    mediaType:
                      type: object
                      properties:
                        parameters:
                          type: object
                          additionalProperties:
                            type: string
                        subtype:
                          type: string
                        type:
                          type: string
                        wildcardSubtype:
                          type: boolean
                        wildcardType:
                          type: boolean
                    metadata:
                      type: object
                      additionalProperties:
                        type: array
                        items:
                          type: object
                    status:
                      type: integer
                      format: int32
                    statusInfo:
                      type: object
                      properties:
                        family:
                          type: string
                          enum:
                          - INFORMATIONAL
                          - SUCCESSFUL
                          - REDIRECTION
                          - CLIENT_ERROR
                          - SERVER_ERROR
                          - OTHER
                        reasonPhrase:
                          type: string
                        statusCode:
                          type: integer
                          format: int32
                    stringHeaders:
                      type: object
                      additionalProperties:
                        type: array
                        items:
                          type: string
          description: default response
      servers:
      - url: /sdc
        variables: {}
      summary: deletes an artifact of a resource or service
      tags:
      - SDCE-7 APIs
    get:
      description: Download component artifact
      operationId: downloadComponentArtifact
      parameters:
      - description: The user ID of the DCAE Designer. This user must also have Designer
          role in SDC
        in: header
        name: USER_ID
        required: true
        schema:
          type: string
      - description: X-ECOMP-RequestID header
        in: header
        name: X-ECOMP-RequestID
        schema:
          type: string
      - description: X-ECOMP-InstanceID header
        in: header
        name: X-ECOMP-InstanceID
        required: true
        schema:
          type: string
      - description: Determines the format of the body of the response
        in: header
        name: Accept
        schema:
          type: string
      - description: The username and password
        in: header
        name: Authorization
        required: true
        schema:
          type: string
      - description: The requested asset type
        in: path
        name: assetType
        required: true
        schema:
          type: string
          enum:
          - "resources,services"
      - description: The uuid of the asset as published in the metadata
        in: path
        name: uuid
        required: true
        schema:
          type: string
      - description: The uuid of the artifact as published in the asset detailed metadata
          or in the response of the upload / update operation
        in: path
        name: artifactUUID
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/octet-stream:
              schema:
                type: array
                items:
                  type: string
          description: Artifact downloaded
        "400":
          description: Missing  'X-ECOMP-InstanceID'  HTTP header - POL5001
        "401":
          description: ECOMP component  should authenticate itself  and  to  re-send  again  HTTP  request  with
            its Basic  Authentication credentials - POL5002
        "403":
          description: ECOMP component is not authorized - POL5003
        "404":
          description: Artifact was not found - SVC4505
        "405":
          description: "Method  Not Allowed: Invalid HTTP method type used (PUT,DELETE,POST\
            \ will be rejected) - POL4050"
        "500":
          description: The GET request failed either due to internal SDC problem or
            Cambria Service failure. ECOMP Component should continue the attempts
            to get the needed information - POL5000
      servers:
      - url: /sdc
        variables: {}
      summary: Returns downloaded artifact
      tags:
      - SDCE-7 APIs
    post:
      description: updates an artifact on a resource or service
      operationId: updateArtifact
      parameters:
      - description: Determines the format of the body of the request
        in: header
        name: Content-Type
        required: true
        schema:
          type: string
      - description: The value for this header must be the MD5 checksum over the whole
          json body
        in: header
        name: Content-MD5
        required: true
        schema:
          type: string
      - description: The user ID of the DCAE Designer. This user must also have Designer
          role in SDC
        in: header
        name: USER_ID
        required: true
        schema:
          type: string
      - description: X-ECOMP-RequestID header
        in: header
        name: X-ECOMP-RequestID
        schema:
          type: string
      - description: X-ECOMP-InstanceID header
        in: header
        name: X-ECOMP-InstanceID
        required: true
        schema:
          type: string
      - description: Determines the format of the body of the response
        in: header
        name: Accept
        schema:
          type: string
      - description: The username and password
        in: header
        name: Authorization
        required: true
        schema:
          type: string
      - description: The requested asset type
        in: path
        name: assetType
        required: true
        schema:
          type: string
          enum:
          - "resources,services"
      - description: The uuid of the asset as published in the metadata
        in: path
        name: uuid
        required: true
        schema:
          type: string
      - description: The uuid of the artifact as published in the asset detailed metadata
          or in the response of the upload / update operation
        in: path
        name: artifactUUID
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ArtifactDefinition'
          description: Artifact updated
        "400":
          description: Artifact name is missing in input - SVC4128
        "401":
          description: ECOMP component  should authenticate itself  and  to  re-send  again  HTTP  request  with
            its Basic  Authentication credentials - POL5002
        "403":
          description: Asset is being edited by different user. Only one user can
            checkout and edit an asset on given time. The asset will be available
            for checkout after the other user will checkin the asset - SVC4086
        "404":
          description: Specified resource is not found - SVC4063
        "405":
          description: "Method  Not Allowed: Invalid HTTP method type used (PUT,DELETE,POST\
            \ will be rejected) - POL4050"
        "409":
          description: Restricted Operation – the user provided does not have role
            of Designer or the asset is being used by another designer - SVC4301
        "500":
          description: The GET request failed either due to internal SDC problem or
            Cambria Service failure. ECOMP Component should continue the attempts
            to get the needed information - POL5000
      servers:
      - url: /sdc
        variables: {}
      summary: uploads of artifact to a resource or service
      tags:
      - SDCE-7 APIs
  /v1/catalog/{assetType}/{uuid}/interfaces/{interfaceUUID}/operations/{operationUUID}/artifacts/{artifactUUID}:
    post:
      description: uploads of artifact to VF operation workflow
      operationId: uploadInterfaceOperationArtifact
      parameters:
      - description: Determines the format of the body of the request
        in: header
        name: Content-Type
        required: true
        schema:
          type: string
      - description: The value for this header must be the MD5 checksum over the whole
          json body
        in: header
        name: Content-MD5
        required: true
        schema:
          type: string
      - description: The user ID of the DCAE Designer. This user must also have Designer
          role in SDC
        in: header
        name: USER_ID
        required: true
        schema:
          type: string
      - description: X-ECOMP-RequestID header
        in: header
        name: X-ECOMP-RequestID
        schema:
          type: string
      - description: X-ECOMP-InstanceID header
        in: header
        name: X-ECOMP-InstanceID
        required: true
        schema:
          type: string
      - description: Determines the format of the body of the response
        in: header
        name: Accept
        schema:
          type: string
      - description: The username and password
        in: header
        name: Authorization
        required: true
        schema:
          type: string
      - description: Asset type
        in: path
        name: assetType
        required: true
        schema:
          type: string
      - description: The uuid of the asset as published in the metadata
        in: path
        name: uuid
        required: true
        schema:
          type: string
      - description: The uuid of the interface
        in: path
        name: interfaceUUID
        required: true
        schema:
          type: string
      - description: The uuid of the operation
        in: path
        name: operationUUID
        required: true
        schema:
          type: string
      - description: The uuid of the artifact
        in: path
        name: artifactUUID
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ArtifactDefinition'
          description: Artifact uploaded
        "400":
          description: Restricted Operation – the user provided does not have role
            of Designer or the asset is being used by another designer - SVC4301
        "401":
          description: ECOMP component  should authenticate itself  and  to  re-send  again  HTTP  request  with
            its Basic  Authentication credentials - POL5002
        "403":
          description: ECOMP component is not authorized - POL5003
        "404":
          description: Specified resource is not found - SVC4063
        "405":
          description: "Method  Not Allowed: Invalid HTTP method type used (PUT,DELETE,POST\
            \ will be rejected) - POL4050"
        "500":
          description: The GET request failed either due to internal SDC problem or
            Cambria Service failure. ECOMP Component should continue the attempts
            to get the needed information - POL5000
      servers:
      - url: /sdc
        variables: {}
      summary: uploads of artifact to VF operation workflow
      tags:
      - SDCE-7 APIs
  /v1/catalog/{assetType}/{uuid}/lifecycleState/{lifecycleOperation}:
    post:
      description: Change Resource lifecycle State
      operationId: changeResourceStateExternal
      parameters:
      - description: Determines the format of the body of the request
        in: header
        name: Content-Type
        required: true
        schema:
          type: string
      - description: The user id
        in: header
        name: USER_ID
        required: true
        schema:
          type: string
      - description: X-ECOMP-RequestID header
        in: header
        name: X-ECOMP-RequestID
        schema:
          type: string
      - description: X-ECOMP-InstanceID header
        in: header
        name: X-ECOMP-InstanceID
        required: true
        schema:
          type: string
      - description: Determines the format of the body of the response
        in: header
        name: Accept
        schema:
          type: string
      - description: The username and password
        in: header
        name: Authorization
        required: true
        schema:
          type: string
      - in: path
        name: lifecycleOperation
        required: true
        schema:
          type: string
          enum:
          - "checkout, checkin"
      - description: id of component to be changed
        in: path
        name: uuid
        required: true
        schema:
          type: string
      - description: "validValues: resources / services "
        in: path
        name: assetType
        required: true
        schema:
          type: string
          enum:
          - resources
          - services
      responses:
        "200":
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AssetMetadata'
          description: Resource state changed
        "400":
          description: Missing X-ECOMP-InstanceID HTTP header - POL5001
        "401":
          description: ECOMP component  should authenticate itself  and  to  re-send  again  HTTP  request  with
            its Basic Authentication credentials - POL5002
        "403":
          description: Asset is being edited by different user. Only one user can
            checkout and edit an asset on given time. The asset will be available
            for checkout after the other user will checkin the asset - SVC4080
        "404":
          description: "Error: Requested '%1' (uuid) resource was not found - SVC4063"
        "405":
          description: "Method  Not Allowed  :  Invalid HTTP method type used ( PUT,DELETE,POST\
            \ will be rejected) - POL4050"
        "500":
          description: The GET request failed either due to internal SDC problem.
            ECOMP Component should continue the attempts to get the needed information
            - POL5000
      servers:
      - url: /sdc
        variables: {}
      tags:
      - SDCE-7 APIs
  /v1/catalog/{assetType}/{uuid}/metadata:
    get:
      description: Detailed metadata of asset by uuid
      operationId: getAssetSpecificMetadataByUuidExternal
      parameters:
      - description: X-ECOMP-RequestID header
        in: header
        name: X-ECOMP-RequestID
        schema:
          type: string
      - description: X-ECOMP-InstanceID header
        in: header
        name: X-ECOMP-InstanceID
        required: true
        schema:
          type: string
      - description: Determines the format of the body of the response
        in: header
        name: Accept
        schema:
          type: string
      - description: The username and password
        in: header
        name: Authorization
        required: true
        schema:
          type: string
      - description: The requested asset type
        in: path
        name: assetType
        required: true
        schema:
          type: string
          enum:
          - resources
          - services
      - description: The requested asset uuid
        in: path
        name: uuid
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AssetMetadata'
          description: ECOMP component is authenticated and list of Catalog Assets
            Metadata is returned
        "400":
          description: Missing  'X-ECOMP-InstanceID'  HTTP header - POL5001
        "401":
          description: ECOMP component  should authenticate itself  and  to  re-send  again  HTTP  request  with
            its Basic Authentication credentials - POL5002
        "403":
          description: ECOMP component is not authorized - POL5003
        "404":
          description: "Error: Requested '%1' (uuid) resource was not found - SVC4063"
        "405":
          description: "Method  Not Allowed  :  Invalid HTTP method type used ( PUT,DELETE,POST\
            \ will be rejected) - POL4050"
        "500":
          description: The GET request failed either due to internal SDC problem.
            ECOMP Component should continue the attempts to get the needed information
            - POL5000
      servers:
      - url: /sdc
        variables: {}
      summary: Returns detailed metadata of an asset by uuid
      tags:
      - SDCE-7 APIs
  /v1/catalog/{assetType}/{uuid}/resourceInstances/{componentInstanceName}/externalReferences/{objectType}:
    post:
      operationId: addComponentInstanceExternalRef
      parameters:
      - in: path
        name: assetType
        required: true
        schema:
          type: string
      - in: path
        name: uuid
        required: true
        schema:
          type: string
      - in: path
        name: componentInstanceName
        required: true
        schema:
          type: string
      - in: path
        name: objectType
        required: true
        schema:
          type: string
      - in: header
        name: USER_ID
        schema:
          type: string
      - in: header
        name: X-ECOMP-InstanceID
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExternalRefDTO'
      responses:
        default:
          content:
            application/json: {}
          description: default response
      servers:
      - url: /sdc
        variables: {}
      tags:
      - SDCE-7 APIs
  /v1/catalog/{assetType}/{uuid}/resourceInstances/{componentInstanceName}/externalReferences/{objectType}/{oldRefValue}:
    put:
      operationId: updateComponentInstanceReference
      parameters:
      - in: path
        name: assetType
        required: true
        schema:
          type: string
      - in: path
        name: uuid
        required: true
        schema:
          type: string
      - in: path
        name: componentInstanceName
        required: true
        schema:
          type: string
      - in: path
        name: objectType
        required: true
        schema:
          type: string
      - in: path
        name: oldRefValue
        required: true
        schema:
          type: string
      - in: header
        name: USER_ID
        schema:
          type: string
      - in: header
        name: X-ECOMP-InstanceID
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExternalRefDTO'
      responses:
        default:
          content:
            application/json: {}
          description: default response
      servers:
      - url: /sdc
        variables: {}
      tags:
      - SDCE-7 APIs
  /v1/catalog/{assetType}/{uuid}/resourceInstances/{componentInstanceName}/externalReferences/{objectType}/{reference}:
    delete:
      operationId: deleteComponentInstanceReference
      parameters:
      - in: path
        name: assetType
        required: true
        schema:
          type: string
      - in: path
        name: uuid
        required: true
        schema:
          type: string
      - in: path
        name: componentInstanceName
        required: true
        schema:
          type: string
      - in: path
        name: objectType
        required: true
        schema:
          type: string
      - in: path
        name: reference
        required: true
        schema:
          type: string
      - in: header
        name: USER_ID
        schema:
          type: string
      - in: header
        name: X-ECOMP-InstanceID
        schema:
          type: string
      responses:
        default:
          content:
            application/json: {}
          description: default response
      servers:
      - url: /sdc
        variables: {}
      tags:
      - SDCE-7 APIs
  /v1/catalog/{assetType}/{uuid}/resourceInstances/{resourceInstanceName}/artifacts:
    post:
      description: uploads an artifact to a resource instance
      operationId: uploadArtifactToInstance
      parameters:
      - description: Determines the format of the body of the request
        in: header
        name: Content-Type
        required: true
        schema:
          type: string
      - description: The value for this header must be the MD5 checksum over the whole
          json body
        in: header
        name: Content-MD5
        required: true
        schema:
          type: string
      - description: The user ID of the DCAE Designer. This user must also have Designer
          role in SDC
        in: header
        name: USER_ID
        required: true
        schema:
          type: string
      - description: X-ECOMP-RequestID header
        in: header
        name: X-ECOMP-RequestID
        schema:
          type: string
      - description: X-ECOMP-InstanceID header
        in: header
        name: X-ECOMP-InstanceID
        required: true
        schema:
          type: string
      - description: Determines the format of the body of the response
        in: header
        name: Accept
        schema:
          type: string
      - description: The username and password
        in: header
        name: Authorization
        required: true
        schema:
          type: string
      - description: The requested asset type
        in: path
        name: assetType
        required: true
        schema:
          type: string
          enum:
          - "resources,services"
      - description: The uuid of the asset as published in the metadata
        in: path
        name: uuid
        required: true
        schema:
          type: string
          enum:
          - "resources,services"
      - description: The component instance name (as publishedin the response of the
          detailed query)
        in: path
        name: resourceInstanceName
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ArtifactDefinition'
          description: Artifact uploaded
        "400":
          description: Restricted Operation – the user provided does not have role
            of Designer or the asset is being used by another designer - SVC4301
        "401":
          description: ECOMP component  should authenticate itself  and  to  re-send  again  HTTP  request  with
            its Basic  Authentication credentials - POL5002
        "403":
          description: ECOMP component is not authorized - POL5003
        "404":
          description: Specified resource is not found - SVC4063
        "405":
          description: "Method  Not Allowed: Invalid HTTP method type used (PUT,DELETE,POST\
            \ will be rejected) - POL4050"
        "500":
          description: The GET request failed either due to internal SDC problem or
            Cambria Service failure. ECOMP Component should continue the attempts
            to get the needed information - POL5000
      servers:
      - url: /sdc
        variables: {}
      summary: uploads an artifact to a resource instance
      tags:
      - SDCE-7 APIs
  /v1/catalog/{assetType}/{uuid}/resourceInstances/{resourceInstanceName}/artifacts/{artifactUUID}:
    delete:
      description: deletes an artifact of a resource insatnce
      operationId: deleteArtifactOnResourceInstance
      parameters:
      - description: The user ID of the DCAE Designer. This user must also have Designer
          role in SDC
        in: header
        name: USER_ID
        required: true
        schema:
          type: string
      - description: X-ECOMP-RequestID header
        in: header
        name: X-ECOMP-RequestID
        schema:
          type: string
      - description: X-ECOMP-InstanceID header
        in: header
        name: X-ECOMP-InstanceID
        required: true
        schema:
          type: string
      - description: Determines the format of the body of the response
        in: header
        name: Accept
        schema:
          type: string
      - description: The username and password
        in: header
        name: Authorization
        required: true
        schema:
          type: string
      - description: The requested asset type
        in: path
        name: assetType
        required: true
        schema:
          type: string
          enum:
          - "resources,services"
      - description: The uuid of the asset as published in the metadata
        in: path
        name: uuid
        required: true
        schema:
          type: string
      - description: The uuid of the artifact as published in the asset detailed metadata
          or in the response of the upload / update operation
        in: path
        name: artifactUUID
        required: true
        schema:
          type: string
      - description: The component instance name (as publishedin the response of the
          detailed query)
        in: path
        name: resourceInstanceName
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ArtifactDefinition'
          description: Artifact deleted
        "400":
          description: Artifact name is missing in input - SVC4128
        "401":
          description: ECOMP component  should authenticate itself  and  to  re-send  again  HTTP  request  with
            its Basic  Authentication credentials - POL5002
        "403":
          description: Asset is being edited by different user. Only one user can
            checkout and edit an asset on given time. The asset will be available
            for checkout after the other user will checkin the asset - SVC4086
        "404":
          description: Specified resource is not found - SVC4063
        "405":
          description: "Method  Not Allowed: Invalid HTTP method type used (PUT,DELETE,POST\
            \ will be rejected) - POL4050"
        "409":
          description: Restricted Operation – the user provided does not have role
            of Designer or the asset is being used by another designer - SVC4301
        "500":
          description: The GET request failed either due to internal SDC problem or
            Cambria Service failure. ECOMP Component should continue the attempts
            to get the needed information - POL5000
        default:
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    allowedMethods:
                      type: array
                      items:
                        type: string
                      uniqueItems: true
                    cookies:
                      type: object
                      additionalProperties:
                        type: object
                        properties:
                          comment:
                            type: string
                          domain:
                            type: string
                          expiry:
                            type: string
                            format: date-time
                          httpOnly:
                            type: boolean
                          maxAge:
                            type: integer
                            format: int32
                          name:
                            type: string
                          path:
                            type: string
                          secure:
                            type: boolean
                          value:
                            type: string
                          version:
                            type: integer
                            format: int32
                    date:
                      type: string
                      format: date-time
                    entity:
                      type: object
                    entityTag:
                      type: object
                      properties:
                        value:
                          type: string
                        weak:
                          type: boolean
                    headers:
                      type: object
                      additionalProperties:
                        type: array
                        items:
                          type: object
                    language:
                      type: object
                      properties:
                        country:
                          type: string
                        displayCountry:
                          type: string
                        displayLanguage:
                          type: string
                        displayName:
                          type: string
                        displayScript:
                          type: string
                        displayVariant:
                          type: string
                        extensionKeys:
                          type: array
                          items:
                            type: string
                          uniqueItems: true
                        iso3Country:
                          type: string
                        iso3Language:
                          type: string
                        language:
                          type: string
                        script:
                          type: string
                        unicodeLocaleAttributes:
                          type: array
                          items:
                            type: string
                          uniqueItems: true
                        unicodeLocaleKeys:
                          type: array
                          items:
                            type: string
                          uniqueItems: true
                        variant:
                          type: string
                    lastModified:
                      type: string
                      format: date-time
                    length:
                      type: integer
                      format: int32
                    links:
                      type: array
                      items:
                        type: object
                        properties:
                          params:
                            type: object
                            additionalProperties:
                              type: string
                          rel:
                            type: string
                          rels:
                            type: array
                            items:
                              type: string
                          title:
                            type: string
                          type:
                            type: string
                          uri:
                            type: string
                            format: uri
                          uriBuilder:
                            type: object
                      uniqueItems: true
                    location:
                      type: string
                      format: uri
                    mediaType:
                      type: object
                      properties:
                        parameters:
                          type: object
                          additionalProperties:
                            type: string
                        subtype:
                          type: string
                        type:
                          type: string
                        wildcardSubtype:
                          type: boolean
                        wildcardType:
                          type: boolean
                    metadata:
                      type: object
                      additionalProperties:
                        type: array
                        items:
                          type: object
                    status:
                      type: integer
                      format: int32
                    statusInfo:
                      type: object
                      properties:
                        family:
                          type: string
                          enum:
                          - INFORMATIONAL
                          - SUCCESSFUL
                          - REDIRECTION
                          - CLIENT_ERROR
                          - SERVER_ERROR
                          - OTHER
                        reasonPhrase:
                          type: string
                        statusCode:
                          type: integer
                          format: int32
                    stringHeaders:
                      type: object
                      additionalProperties:
                        type: array
                        items:
                          type: string
          description: default response
      servers:
      - url: /sdc
        variables: {}
      summary: deletes an artifact of a resource insatnce
      tags:
      - SDCE-7 APIs
    get:
      description: Download resource instance artifact
      operationId: downloadResourceInstanceArtifact
      parameters:
      - description: The user ID of the DCAE Designer. This user must also have Designer
          role in SDC
        in: header
        name: USER_ID
        required: true
        schema:
          type: string
      - description: X-ECOMP-RequestID header
        in: header
        name: X-ECOMP-RequestID
        schema:
          type: string
      - description: X-ECOMP-InstanceID header
        in: header
        name: X-ECOMP-InstanceID
        required: true
        schema:
          type: string
      - description: Determines the format of the body of the response
        in: header
        name: Accept
        schema:
          type: string
      - description: The username and password
        in: header
        name: Authorization
        required: true
        schema:
          type: string
      - description: The requested asset type
        in: path
        name: assetType
        required: true
        schema:
          type: string
      - description: The uuid of the asset as published in the metadata
        in: path
        name: uuid
        required: true
        schema:
          type: string
      - description: The uuid of the artifact as published in the asset detailed metadata
          or in the response of the upload / update operation
        in: path
        name: artifactUUID
        required: true
        schema:
          type: string
      - description: The component instance name (as publishedin the response of the
          detailed query)
        in: path
        name: resourceInstanceName
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/octet-stream:
              schema:
                type: array
                items:
                  type: string
          description: Artifact downloaded
        "400":
          description: Missing  'X-ECOMP-InstanceID'  HTTP header - POL5001
        "401":
          description: ECOMP component  should authenticate itself  and  to  re-send  again  HTTP  request  with
            its Basic  Authentication credentials - POL5002
        "403":
          description: ECOMP component is not authorized - POL5003
        "404":
          description: Artifact was not found - SVC4505
        "405":
          description: "Method  Not Allowed: Invalid HTTP method type used (PUT,DELETE,POST\
            \ will be rejected) - POL4050"
        "500":
          description: The GET request failed either due to internal SDC problem or
            Cambria Service failure. ECOMP Component should continue the attempts
            to get the needed information - POL5000
        default:
          content:
            application/octet-stream:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    allowedMethods:
                      type: array
                      items:
                        type: string
                      uniqueItems: true
                    cookies:
                      type: object
                      additionalProperties:
                        type: object
                        properties:
                          comment:
                            type: string
                          domain:
                            type: string
                          expiry:
                            type: string
                            format: date-time
                          httpOnly:
                            type: boolean
                          maxAge:
                            type: integer
                            format: int32
                          name:
                            type: string
                          path:
                            type: string
                          secure:
                            type: boolean
                          value:
                            type: string
                          version:
                            type: integer
                            format: int32
                    date:
                      type: string
                      format: date-time
                    entity:
                      type: object
                    entityTag:
                      type: object
                      properties:
                        value:
                          type: string
                        weak:
                          type: boolean
                    headers:
                      type: object
                      additionalProperties:
                        type: array
                        items:
                          type: object
                    language:
                      type: object
                      properties:
                        country:
                          type: string
                        displayCountry:
                          type: string
                        displayLanguage:
                          type: string
                        displayName:
                          type: string
                        displayScript:
                          type: string
                        displayVariant:
                          type: string
                        extensionKeys:
                          type: array
                          items:
                            type: string
                          uniqueItems: true
                        iso3Country:
                          type: string
                        iso3Language:
                          type: string
                        language:
                          type: string
                        script:
                          type: string
                        unicodeLocaleAttributes:
                          type: array
                          items:
                            type: string
                          uniqueItems: true
                        unicodeLocaleKeys:
                          type: array
                          items:
                            type: string
                          uniqueItems: true
                        variant:
                          type: string
                    lastModified:
                      type: string
                      format: date-time
                    length:
                      type: integer
                      format: int32
                    links:
                      type: array
                      items:
                        type: object
                        properties:
                          params:
                            type: object
                            additionalProperties:
                              type: string
                          rel:
                            type: string
                          rels:
                            type: array
                            items:
                              type: string
                          title:
                            type: string
                          type:
                            type: string
                          uri:
                            type: string
                            format: uri
                          uriBuilder:
                            type: object
                      uniqueItems: true
                    location:
                      type: string
                      format: uri
                    mediaType:
                      type: object
                      properties:
                        parameters:
                          type: object
                          additionalProperties:
                            type: string
                        subtype:
                          type: string
                        type:
                          type: string
                        wildcardSubtype:
                          type: boolean
                        wildcardType:
                          type: boolean
                    metadata:
                      type: object
                      additionalProperties:
                        type: array
                        items:
                          type: object
                    status:
                      type: integer
                      format: int32
                    statusInfo:
                      type: object
                      properties:
                        family:
                          type: string
                          enum:
                          - INFORMATIONAL
                          - SUCCESSFUL
                          - REDIRECTION
                          - CLIENT_ERROR
                          - SERVER_ERROR
                          - OTHER
                        reasonPhrase:
                          type: string
                        statusCode:
                          type: integer
                          format: int32
                    stringHeaders:
                      type: object
                      additionalProperties:
                        type: array
                        items:
                          type: string
          description: default response
      servers:
      - url: /sdc
        variables: {}
      summary: Returns downloaded artifact
      tags:
      - SDCE-7 APIs
    post:
      description: updates an artifact on a resource instance
      operationId: updateArtifactOnResourceInstance
      parameters:
      - description: Determines the format of the body of the request
        in: header
        name: Content-Type
        required: true
        schema:
          type: string
      - description: The value for this header must be the MD5 checksum over the whole
          json body
        in: header
        name: Content-MD5
        required: true
        schema:
          type: string
      - description: The user ID of the DCAE Designer. This user must also have Designer
          role in SDC
        in: header
        name: USER_ID
        required: true
        schema:
          type: string
      - description: X-ECOMP-RequestID header
        in: header
        name: X-ECOMP-RequestID
        schema:
          type: string
      - description: X-ECOMP-InstanceID header
        in: header
        name: X-ECOMP-InstanceID
        required: true
        schema:
          type: string
      - description: Determines the format of the body of the response
        in: header
        name: Accept
        schema:
          type: string
      - description: The username and password
        in: header
        name: Authorization
        required: true
        schema:
          type: string
      - description: The requested asset type
        in: path
        name: assetType
        required: true
        schema:
          type: string
          enum:
          - "resources,services"
      - description: The uuid of the asset as published in the metadata
        in: path
        name: uuid
        required: true
        schema:
          type: string
      - description: The uuid of the artifact as published in the asset detailed metadata
          or in the response of the upload / update operation
        in: path
        name: artifactUUID
        required: true
        schema:
          type: string
      - description: The component instance name (as publishedin the response of the
          detailed query)
        in: path
        name: resourceInstanceName
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ArtifactDefinition'
          description: Artifact updated
        "400":
          description: Artifact name is missing in input - SVC4128
        "401":
          description: ECOMP component  should authenticate itself  and  to  re-send  again  HTTP  request  with
            its Basic  Authentication credentials - POL5002
        "403":
          description: Asset is being edited by different user. Only one user can
            checkout and edit an asset on given time. The asset will be available
            for checkout after the other user will checkin the asset - SVC4086
        "404":
          description: Specified resource is not found - SVC4063
        "405":
          description: "Method  Not Allowed: Invalid HTTP method type used (PUT,DELETE,POST\
            \ will be rejected) - POL4050"
        "409":
          description: Restricted Operation – the user provided does not have role
            of Designer or the asset is being used by another designer - SVC4301
        "500":
          description: The GET request failed either due to internal SDC problem or
            Cambria Service failure. ECOMP Component should continue the attempts
            to get the needed information - POL5000
      servers:
      - url: /sdc
        variables: {}
      summary: uploads of artifact to a resource or service
      tags:
      - SDCE-7 APIs
  /v1/catalog/{assetType}/{uuid}/toscaModel:
    get:
      description: Fetch assets CSAR
      operationId: getToscaModelExternal
      parameters:
      - description: X-ECOMP-RequestID header
        in: header
        name: X-ECOMP-RequestID
        schema:
          type: string
      - description: X-ECOMP-InstanceID header
        in: header
        name: X-ECOMP-InstanceID
        required: true
        schema:
          type: string
      - description: Determines the format of the body of the response
        in: header
        name: Accept
        schema:
          type: string
      - description: The username and password
        in: header
        name: Authorization
        required: true
        schema:
          type: string
      - description: The requested asset type
        in: path
        name: assetType
        required: true
        schema:
          type: string
          enum:
          - resources
          - services
      - description: The requested asset uuid
        in: path
        name: uuid
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/octet-stream:
              schema:
                type: array
                items:
                  type: string
          description: ECOMP component is authenticated and list of Catalog Assets
            Metadata is returned
        "400":
          description: Missing  'X-ECOMP-InstanceID'  HTTP header - POL5001
        "401":
          description: ECOMP component  should authenticate itself  and  to  re-send  again  HTTP  request  with
            its Basic Authentication credentials - POL5002
        "403":
          description: ECOMP component is not authorized - POL5003
        "404":
          description: "Error: Requested '%1' (uuid) resource was not found - SVC4063"
        "405":
          description: "Method  Not Allowed  :  Invalid HTTP method type used ( PUT,DELETE,POST\
            \ will be rejected) - POL4050"
        "500":
          description: The GET request failed either due to internal SDC problem.
            ECOMP Component should continue the attempts to get the needed information
            - POL5000
        default:
          content:
            application/octet-stream:
              schema:
                type: array
                items:
                  type: string
          description: default response
      servers:
      - url: /sdc
        variables: {}
      summary: Returns asset csar
      tags:
      - SDCE-7 APIs
  /v1/catalog/{assetType}/{uuid}/version/{version}/externalReferences/{objectType}:
    get:
      operationId: getAssetExternalRefByObjectType
      parameters:
      - in: path
        name: assetType
        required: true
        schema:
          type: string
      - in: path
        name: uuid
        required: true
        schema:
          type: string
      - in: path
        name: version
        required: true
        schema:
          type: string
      - in: path
        name: objectType
        required: true
        schema:
          type: string
      - in: header
        name: USER_ID
        schema:
          type: string
      - in: header
        name: X-ECOMP-InstanceID
        schema:
          type: string
      responses:
        default:
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: array
                  items:
                    type: string
          description: default response
      servers:
      - url: /sdc
        variables: {}
      tags:
      - SDCE-7 APIs
  /v1/catalog/{assetType}/{uuid}/version/{version}/resourceInstances/{componentInstanceName}/externalReferences/{objectType}:
    get:
      operationId: getComponentInstanceExternalRef
      parameters:
      - in: path
        name: assetType
        required: true
        schema:
          type: string
      - in: path
        name: uuid
        required: true
        schema:
          type: string
      - in: path
        name: version
        required: true
        schema:
          type: string
      - in: path
        name: componentInstanceName
        required: true
        schema:
          type: string
      - in: path
        name: objectType
        required: true
        schema:
          type: string
      - in: header
        name: USER_ID
        schema:
          type: string
      - in: header
        name: X-ECOMP-InstanceID
        schema:
          type: string
      responses:
        default:
          content:
            application/json: {}
          description: default response
      servers:
      - url: /sdc
        variables: {}
      tags:
      - SDCE-7 APIs
  /v1/distributionKafkaData:
    get:
      description: Kafka data
      operationId: getKafkaData
      parameters:
      - description: X-ECOMP-RequestID header
        in: header
        name: X-ECOMP-RequestID
        schema:
          type: string
      - description: X-ECOMP-InstanceID header
        in: header
        name: X-ECOMP-InstanceID
        required: true
        schema:
          type: string
      - description: Determines the format of the body of the response
        in: header
        name: Accept
        schema:
          type: string
      - description: The username and password
        in: header
        name: Authorization
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/KafkaDataResponse'
          description: ECOMP component is authenticated and kafka endpoint and topic
            list is returned
        "400":
          description: Missing 'X-ECOMP-InstanceID'  HTTP header - POL5001
        "401":
          description: ECOMP component  should authenticate itself  and  to  re-send  again  HTTP  request  with
            its credentials  for  Basic Authentication - POL5002
        "403":
          description: ECOMP component is not authorized - POL5003
        "405":
          description: "Method  Not Allowed: Invalid HTTP method type used ( PUT,DELETE,POST\
            \ will be rejected) - POL4050"
        "500":
          description: The GET request failed either due to internal SDC problem or
            Cambria Service failure. ECOMP Component should continue the attempts
            to get the needed information - POL5000
      servers:
      - url: /sdc
        variables: {}
      summary: return the kafka cluster and topic list
      tags:
      - SDCE-6 APIs
components:
  schemas:
    AbstractResourceInfo:
      type: object
      properties:
        abstractResourceName:
          type: string
        abstractResourceUUid:
          type: string
        abstractResourceUniqueId:
          type: string
        componentInstancesRelations:
          type: array
          items:
            $ref: '#/components/schemas/RequirementCapabilityRelDef'
    AbstractTemplateInfo:
      type: object
      properties:
        abstractResourceInfoList:
          type: array
          items:
            $ref: '#/components/schemas/AbstractResourceInfo'
        isAbstractTemplate:
          type: boolean
        serviceUUid:
          type: string
        serviceUniqueId:
          type: string
    AdditionalInfoParameterInfo:
      type: object
      properties:
        empty:
          type: boolean
        key:
          type: string
        ownerId:
          type: string
        ownerIdIfEmpty:
          type: string
          writeOnly: true
        type:
          type: string
        uniqueId:
          type: string
        value:
          type: string
        version:
          type: string
    AdditionalInformationDefinition:
      type: object
      properties:
        creationTime:
          type: integer
          format: int64
        empty:
          type: boolean
        lastCreatedCounter:
          type: integer
          format: int32
        modificationTime:
          type: integer
          format: int64
        ownerId:
          type: string
        ownerIdIfEmpty:
          type: string
          writeOnly: true
        parameters:
          type: array
          items:
            $ref: '#/components/schemas/AdditionalInfoParameterInfo'
        parentUniqueId:
          type: string
        type:
          type: string
        uniqueId:
          type: string
        version:
          type: string
    Annotation:
      type: object
      properties:
        description:
          type: string
        name:
          type: string
        properties:
          type: array
          items:
            $ref: '#/components/schemas/PropertyDataDefinition'
        type:
          type: string
    ArtifactDataDefinition:
      type: object
      properties:
        apiUrl:
          type: string
        artifactChecksum:
          type: string
        artifactCreator:
          type: string
        artifactDisplayName:
          type: string
        artifactGroupType:
          type: string
          enum:
          - INFORMATIONAL
          - DEPLOYMENT
          - LIFE_CYCLE
          - SERVICE_API
          - TOSCA
          - OTHER
        artifactLabel:
          type: string
        artifactName:
          type: string
        artifactRef:
          type: string
        artifactRepository:
          type: string
        artifactType:
          type: string
        artifactUUID:
          type: string
        artifactVersion:
          type: string
        creationDate:
          type: integer
          format: int64
        creatorFullName:
          type: string
        description:
          type: string
        duplicated:
          type: boolean
        empty:
          type: boolean
        esId:
          type: string
        generated:
          type: boolean
        generatedFromId:
          type: string
        heatEnvType:
          type: boolean
        heatParameters:
          type: array
          items:
            $ref: '#/components/schemas/HeatParameterDataDefinition'
        heatParamsUpdateDate:
          type: integer
          format: int64
        isFromCsar:
          type: boolean
        lastUpdateDate:
          type: integer
          format: int64
        mandatory:
          type: boolean
        ownerId:
          type: string
        ownerIdIfEmpty:
          type: string
          writeOnly: true
        payloadUpdateDate:
          type: integer
          format: int64
        properties:
          type: array
          items:
            $ref: '#/components/schemas/PropertyDataDefinition'
        requiredArtifacts:
          type: array
          items:
            type: string
        serviceApi:
          type: boolean
        timeout:
          type: integer
          format: int32
        type:
          type: string
        uniqueId:
          type: string
        updaterFullName:
          type: string
        userIdCreator:
          type: string
        userIdLastUpdater:
          type: string
        version:
          type: string
    ArtifactDefinition:
      type: object
      properties:
        apiUrl:
          type: string
        artifactChecksum:
          type: string
        artifactCreator:
          type: string
        artifactDisplayName:
          type: string
        artifactGroupType:
          type: string
          enum:
          - INFORMATIONAL
          - DEPLOYMENT
          - LIFE_CYCLE
          - SERVICE_API
          - TOSCA
          - OTHER
        artifactLabel:
          type: string
        artifactName:
          type: string
        artifactRef:
          type: string
        artifactRepository:
          type: string
        artifactType:
          type: string
        artifactUUID:
          type: string
        artifactVersion:
          type: string
        creationDate:
          type: integer
          format: int64
        creatorFullName:
          type: string
        description:
          type: string
        duplicated:
          type: boolean
        empty:
          type: boolean
        esId:
          type: string
        generated:
          type: boolean
        generatedFromId:
          type: string
        heatEnvType:
          type: boolean
        heatParamUpdated:
          type: boolean
        heatParameters:
          type: array
          items:
            $ref: '#/components/schemas/HeatParameterDataDefinition'
        heatParamsUpdateDate:
          type: integer
          format: int64
        isFromCsar:
          type: boolean
        lastUpdateDate:
          type: integer
          format: int64
        listHeatParameters:
          type: array
          items:
            $ref: '#/components/schemas/HeatParameterDefinition'
        mandatory:
          type: boolean
        ownerId:
          type: string
        ownerIdIfEmpty:
          type: string
          writeOnly: true
        payload:
          type: array
          items:
            type: string
            format: byte
          writeOnly: true
        payloadData:
          type: array
          items:
            type: string
            format: byte
        payloadUpdateDate:
          type: integer
          format: int64
        properties:
          type: array
          items:
            $ref: '#/components/schemas/PropertyDataDefinition'
        requiredArtifacts:
          type: array
          items:
            type: string
        serviceApi:
          type: boolean
        timeout:
          type: integer
          format: int32
        type:
          type: string
        uniqueId:
          type: string
        updaterFullName:
          type: string
        userIdCreator:
          type: string
        userIdLastUpdater:
          type: string
        version:
          type: string
    AssetMetadata:
      type: object
      properties:
        additionalRequestedMetadata:
          type: object
          additionalProperties:
            type: object
        invariantUUID:
          type: string
        name:
          type: string
        toscaModelURL:
          type: string
        uuid:
          type: string
        version:
          type: string
    AttributeDefinition:
      type: object
      properties:
        attributeId:
          type: string
        defaultValue:
          type: string
        definition:
          type: boolean
        description:
          type: string
        empty:
          type: boolean
        entry_schema:
          $ref: '#/components/schemas/EntrySchema'
        getOutputAttribute:
          type: boolean
        getOutputValues:
          type: array
          items:
            $ref: '#/components/schemas/GetOutputValueDataDefinition'
        get_default:
          type: object
        instanceUniqueId:
          type: string
        model:
          type: string
        name:
          type: string
        outputId:
          type: string
        outputPath:
          type: string
        ownerId:
          type: string
        ownerIdIfEmpty:
          type: string
          writeOnly: true
        parentUniqueId:
          type: string
        schema:
          $ref: '#/components/schemas/SchemaDefinition'
        schemaType:
          type: string
        status:
          type: string
        type:
          type: string
        uniqueId:
          type: string
        value:
          type: string
        version:
          type: string
    CINodeFilterDataDefinition:
      type: object
      properties:
        capabilities:
          $ref: '#/components/schemas/ListDataDefinitionRequirementNodeFilterCapabilityDataDefinition'
        empty:
          type: boolean
        id:
          type: string
        name:
          type: string
        ownerId:
          type: string
        ownerIdIfEmpty:
          type: string
          writeOnly: true
        properties:
          $ref: '#/components/schemas/ListDataDefinitionPropertyFilterDataDefinition'
        tosca_id:
          type: object
        type:
          type: string
        version:
          type: string
    CapabilityDataDefinition:
      type: object
      properties:
        capabilitySources:
          type: array
          items:
            type: string
        description:
          type: string
        empty:
          type: boolean
        external:
          type: boolean
        externalName:
          type: string
        leftOccurrences:
          type: string
        maxOccurrences:
          type: string
        minOccurrences:
          type: string
        name:
          type: string
        ownerId:
          type: string
        ownerIdIfEmpty:
          type: string
          writeOnly: true
        ownerName:
          type: string
        ownerType:
          type: string
          enum:
          - GROUP
          - COMPONENT_INSTANCE
          - RESOURCE
        parentName:
          type: string
        path:
          type: array
          items:
            type: string
        previousName:
          type: string
        source:
          type: string
        type:
          type: string
        uniqueId:
          type: string
        validSourceTypes:
          type: array
          items:
            type: string
        version:
          type: string
    CapabilityDefinition:
      type: object
      properties:
        capabilitySources:
          type: array
          items:
            type: string
        description:
          type: string
        empty:
          type: boolean
        external:
          type: boolean
        externalName:
          type: string
        leftOccurrences:
          type: string
        maxOccurrences:
          type: string
        minOccurrences:
          type: string
        name:
          type: string
        ownerId:
          type: string
        ownerIdIfEmpty:
          type: string
          writeOnly: true
        ownerName:
          type: string
        ownerType:
          type: string
          enum:
          - GROUP
          - COMPONENT_INSTANCE
          - RESOURCE
        ownerTypeIfEmpty:
          type: string
          enum:
          - GROUP
          - COMPONENT_INSTANCE
          - RESOURCE
          writeOnly: true
        parentName:
          type: string
        path:
          type: array
          items:
            type: string
        previousName:
          type: string
        properties:
          type: array
          items:
            $ref: '#/components/schemas/ComponentInstanceProperty'
        source:
          type: string
        type:
          type: string
        uniqueId:
          type: string
        validSourceTypes:
          type: array
          items:
            type: string
        version:
          type: string
    CapabilityRequirementRelationship:
      type: object
      properties:
        capability:
          $ref: '#/components/schemas/CapabilityDataDefinition'
        operations:
          type: array
          items:
            $ref: '#/components/schemas/OperationUi'
        relation:
          $ref: '#/components/schemas/RelationshipInfo'
        requirement:
          $ref: '#/components/schemas/RequirementDataDefinition'
    CategoryDefinition:
      type: object
      properties:
        displayName:
          type: string
        empty:
          type: boolean
        icons:
          type: array
          items:
            type: string
        metadataKeys:
          type: array
          items:
            $ref: '#/components/schemas/MetadataKeyDataDefinition'
        models:
          type: array
          items:
            type: string
        name:
          type: string
        normalizedName:
          type: string
        notApplicableMetadataKeys:
          type: array
          items:
            type: string
        ownerId:
          type: string
        ownerIdIfEmpty:
          type: string
          writeOnly: true
        subcategories:
          type: array
          items:
            $ref: '#/components/schemas/SubCategoryDefinition'
        type:
          type: string
        uniqueId:
          type: string
        useServiceSubstitutionForNestedServices:
          type: boolean
        version:
          type: string
    ComponentInstance:
      type: object
      properties:
        actualComponentUid:
          type: string
        artifacts:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/ArtifactDefinition'
        attributeValueCounter:
          type: integer
          format: int32
        attributes:
          type: array
          items:
            $ref: '#/components/schemas/AttributeDefinition'
        capabilities:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/CapabilityDefinition'
        componentMetadataForSupportLog:
          type: object
          additionalProperties:
            type: string
        componentName:
          type: string
        componentUid:
          type: string
        componentVersion:
          type: string
        createdFrom:
          type: string
          enum:
          - UI
          - CSAR
        createdFromCsar:
          type: boolean
        creationTime:
          type: integer
          format: int64
        customizationUUID:
          type: string
        deploymentArtifacts:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/ArtifactDefinition'
        description:
          type: string
        directives:
          type: array
          items:
            type: string
        empty:
          type: boolean
        groupInstances:
          type: array
          items:
            $ref: '#/components/schemas/GroupInstance'
        icon:
          type: string
        inputValueCounter:
          type: integer
          format: int32
        inputs:
          type: array
          items:
            $ref: '#/components/schemas/InputDefinition'
        instanceCount:
          type: string
        interfaces:
          type: object
          additionalProperties:
            type: object
        invariantName:
          type: string
        isProxy:
          type: boolean
        maxOccurrences:
          type: string
        minOccurrences:
          type: string
        modificationTime:
          type: integer
          format: int64
        name:
          type: string
        nodeFilter:
          $ref: '#/components/schemas/CINodeFilterDataDefinition'
        normalizedName:
          type: string
        originArchived:
          type: boolean
        originType:
          type: string
          enum:
          - PRODUCT
          - SERVICE
          - VF
          - VFC
          - CP
          - VL
          - Configuration
          - VFCMT
          - CVFC
          - PNF
          - CR
          - ServiceProxy
          - ServiceSubstitution
        ownerId:
          type: string
        ownerIdIfEmpty:
          type: string
          writeOnly: true
        posX:
          type: string
        posY:
          type: string
        properties:
          type: array
          items:
            $ref: '#/components/schemas/PropertyDefinition'
        propertyValueCounter:
          type: integer
          format: int32
        requirements:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/RequirementDefinition'
        serviceSubstitution:
          type: boolean
        sourceModelInvariant:
          type: string
        sourceModelName:
          type: string
        sourceModelUid:
          type: string
        sourceModelUuid:
          type: string
        toscaArtifacts:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/ToscaArtifactDataDefinition'
        toscaComponentName:
          type: string
        type:
          type: string
        uniqueId:
          type: string
        version:
          type: string
    ComponentInstanceAttribute:
      type: object
      properties:
        attributeId:
          type: string
        componentInstanceId:
          type: string
        componentInstanceName:
          type: string
        defaultValue:
          type: string
        definition:
          type: boolean
        description:
          type: string
        empty:
          type: boolean
        entry_schema:
          $ref: '#/components/schemas/EntrySchema'
        getOutputAttribute:
          type: boolean
        getOutputValues:
          type: array
          items:
            $ref: '#/components/schemas/GetOutputValueDataDefinition'
        get_default:
          type: object
        instanceUniqueId:
          type: string
        model:
          type: string
        name:
          type: string
        outputId:
          type: string
        outputPath:
          type: string
        ownerId:
          type: string
        ownerIdIfEmpty:
          type: string
          writeOnly: true
        parentUniqueId:
          type: string
        path:
          type: array
          items:
            type: string
        rules:
          type: array
          items:
            $ref: '#/components/schemas/PropertyRule'
        schema:
          $ref: '#/components/schemas/SchemaDefinition'
        schemaType:
          type: string
        status:
          type: string
        type:
          type: string
        uniqueId:
          type: string
        value:
          type: string
        valueUniqueUid:
          type: string
        version:
          type: string
    ComponentInstanceInput:
      type: object
      properties:
        annotations:
          type: array
          items:
            $ref: '#/components/schemas/Annotation'
        annotationsToInput:
          type: array
          items:
            $ref: '#/components/schemas/Annotation'
          writeOnly: true
        componentInstanceId:
          type: string
        componentInstanceName:
          type: string
        constraints:
          type: array
          items:
            $ref: '#/components/schemas/PropertyConstraint'
        defaultValue:
          type: string
        definition:
          type: boolean
        description:
          type: string
        empty:
          type: boolean
        getInputProperty:
          type: boolean
        getInputValues:
          type: array
          items:
            $ref: '#/components/schemas/GetInputValueDataDefinition'
        getPolicyValues:
          type: array
          items:
            $ref: '#/components/schemas/GetPolicyValueDataDefinition'
        hidden:
          type: boolean
        immutable:
          type: boolean
        inputId:
          type: string
        inputPath:
          type: string
        instanceUniqueId:
          type: string
        isDeclaredListInput:
          type: boolean
        label:
          type: string
        mappedToComponentProperty:
          type: boolean
        metadata:
          type: object
          additionalProperties:
            type: string
        model:
          type: string
        name:
          type: string
        ownerId:
          type: string
        ownerIdIfEmpty:
          type: string
          writeOnly: true
        parentPropertyType:
          type: string
        parentUniqueId:
          type: string
        password:
          type: boolean
        path:
          type: array
          items:
            type: string
        properties:
          type: array
          items:
            $ref: '#/components/schemas/ComponentInstanceProperty'
        propertyConstraints:
          type: array
          items:
            type: string
        propertyId:
          type: string
        required:
          type: boolean
        rules:
          type: array
          items:
            $ref: '#/components/schemas/PropertyRule'
        schema:
          $ref: '#/components/schemas/SchemaDefinition'
        schemaProperty:
          $ref: '#/components/schemas/PropertyDataDefinition'
        schemaType:
          type: string
        status:
          type: string
        subPropertyInputPath:
          type: string
        subPropertyToscaFunctions:
          type: array
          items:
            $ref: '#/components/schemas/SubPropertyToscaFunction'
        toscaFunction:
          $ref: '#/components/schemas/ToscaFunction'
        toscaGetFunction:
          $ref: '#/components/schemas/ToscaGetFunctionDataDefinition'
        toscaGetFunctionType:
          type: string
          enum:
          - GET_INPUT
          - GET_PROPERTY
          - GET_ATTRIBUTE
        toscaSubPath:
          type: string
        type:
          type: string
        uniqueId:
          type: string
        userCreated:
          type: boolean
        value:
          type: string
        valueUniqueUid:
          type: string
        version:
          type: string
    ComponentInstanceInterface:
      type: object
      properties:
        creationDate:
          type: integer
          format: int64
        definition:
          type: boolean
        derivedFrom:
          type: string
        description:
          type: string
        empty:
          type: boolean
        inputs:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/InputDataDefinition'
        interfaceId:
          type: string
        interfaceInstanceDataDefinition:
          $ref: '#/components/schemas/InterfaceInstanceDataDefinition'
        lastUpdateDate:
          type: integer
          format: int64
        model:
          type: string
        operations:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/OperationDataDefinition'
        ownerId:
          type: string
        ownerIdIfEmpty:
          type: string
          writeOnly: true
        toscaResourceName:
          type: string
        type:
          type: string
        uniqueId:
          type: string
        userCreated:
          type: boolean
        version:
          type: string
    ComponentInstanceOutput:
      type: object
      properties:
        attribute:
          $ref: '#/components/schemas/ComponentInstanceAttribute'
        attributeId:
          type: string
        componentInstanceId:
          type: string
        componentInstanceName:
          type: string
        defaultValue:
          type: string
        definition:
          type: boolean
        description:
          type: string
        empty:
          type: boolean
        entry_schema:
          $ref: '#/components/schemas/EntrySchema'
        getOutputAttribute:
          type: boolean
        getOutputValues:
          type: array
          items:
            $ref: '#/components/schemas/GetOutputValueDataDefinition'
        get_default:
          type: object
        instanceUniqueId:
          type: string
        model:
          type: string
        name:
          type: string
        outputId:
          type: string
        outputPath:
          type: string
        ownerId:
          type: string
        ownerIdIfEmpty:
          type: string
          writeOnly: true
        parentUniqueId:
          type: string
        path:
          type: array
          items:
            type: string
        rules:
          type: array
          items:
            $ref: '#/components/schemas/PropertyRule'
        schema:
          $ref: '#/components/schemas/SchemaDefinition'
        schemaType:
          type: string
        status:
          type: string
        type:
          type: string
        uniqueId:
          type: string
        value:
          type: string
        valueUniqueUid:
          type: string
        version:
          type: string
    ComponentInstanceProperty:
      type: object
      properties:
        annotations:
          type: array
          items:
            $ref: '#/components/schemas/Annotation'
        componentInstanceId:
          type: string
        componentInstanceName:
          type: string
        constraints:
          type: array
          items:
            $ref: '#/components/schemas/PropertyConstraint'
        defaultValue:
          type: string
        definition:
          type: boolean
        description:
          type: string
        empty:
          type: boolean
        getInputProperty:
          type: boolean
        getInputValues:
          type: array
          items:
            $ref: '#/components/schemas/GetInputValueDataDefinition'
        getPolicyValues:
          type: array
          items:
            $ref: '#/components/schemas/GetPolicyValueDataDefinition'
        hidden:
          type: boolean
        immutable:
          type: boolean
        inputId:
          type: string
        inputPath:
          type: string
        instanceUniqueId:
          type: string
        isDeclaredListInput:
          type: boolean
        label:
          type: string
        mappedToComponentProperty:
          type: boolean
        metadata:
          type: object
          additionalProperties:
            type: string
        model:
          type: string
        name:
          type: string
        ownerId:
          type: string
        ownerIdIfEmpty:
          type: string
          writeOnly: true
        parentPropertyType:
          type: string
        parentUniqueId:
          type: string
        password:
          type: boolean
        path:
          type: array
          items:
            type: string
        propertyConstraints:
          type: array
          items:
            type: string
        propertyId:
          type: string
        required:
          type: boolean
        rules:
          type: array
          items:
            $ref: '#/components/schemas/PropertyRule'
        schema:
          $ref: '#/components/schemas/SchemaDefinition'
        schemaProperty:
          $ref: '#/components/schemas/PropertyDataDefinition'
        schemaType:
          type: string
        status:
          type: string
        subPropertyInputPath:
          type: string
        subPropertyToscaFunctions:
          type: array
          items:
            $ref: '#/components/schemas/SubPropertyToscaFunction'
        toscaFunction:
          $ref: '#/components/schemas/ToscaFunction'
        toscaGetFunction:
          $ref: '#/components/schemas/ToscaGetFunctionDataDefinition'
        toscaGetFunctionType:
          type: string
          enum:
          - GET_INPUT
          - GET_PROPERTY
          - GET_ATTRIBUTE
        toscaSubPath:
          type: string
        type:
          type: string
        uniqueId:
          type: string
        userCreated:
          type: boolean
        value:
          type: string
        valueUniqueUid:
          type: string
        version:
          type: string
    Constraint:
      type: object
      properties:
        equal:
          type: object
        greater_or_equal:
          type: object
        greater_than:
          type: object
        in_range:
          type: array
          items:
            type: object
        length:
          type: integer
          format: int32
        less_or_equal:
          type: object
        less_than:
          type: object
        max_length:
          type: integer
          format: int32
        min_length:
          type: integer
          format: int32
        pattern:
          type: object
        valid_values:
          type: array
          items:
            type: object
    DataTypeDefinition:
      type: object
      properties:
        constraints:
          type: array
          items:
            $ref: '#/components/schemas/PropertyConstraint'
        creationTime:
          type: integer
          format: int64
        derivedFrom:
          $ref: '#/components/schemas/DataTypeDefinition'
        derivedFromName:
          type: string
        description:
          type: string
        empty:
          type: boolean
        model:
          type: string
        modificationTime:
          type: integer
          format: int64
        name:
          type: string
        normative:
          type: boolean
        ownerId:
          type: string
        ownerIdIfEmpty:
          type: string
          writeOnly: true
        properties:
          type: array
          items:
            $ref: '#/components/schemas/PropertyDefinition'
        propertiesData:
          type: array
          items:
            $ref: '#/components/schemas/PropertyDataDefinition'
        type:
          type: string
        uniqueId:
          type: string
        version:
          type: string
    EntrySchema:
      type: object
      properties:
        constraints:
          type: array
          items:
            $ref: '#/components/schemas/Constraint'
        description:
          type: string
        type:
          type: string
    ExternalRefDTO:
      type: object
      properties:
        referenceUUID:
          type: string
    GetInputValueDataDefinition:
      type: object
      properties:
        empty:
          type: boolean
        getInputIndex:
          $ref: '#/components/schemas/GetInputValueDataDefinition'
        indexValue:
          type: integer
          format: int32
        inputId:
          type: string
        inputName:
          type: string
        inputType:
          type: string
        list:
          type: boolean
        ownerId:
          type: string
        ownerIdIfEmpty:
          type: string
          writeOnly: true
        propName:
          type: string
        type:
          type: string
        version:
          type: string
    GetOutputValueDataDefinition:
      type: object
      properties:
        attribName:
          type: string
        empty:
          type: boolean
        getOutputIndex:
          $ref: '#/components/schemas/GetOutputValueDataDefinition'
        indexValue:
          type: integer
          format: int32
        list:
          type: boolean
        outputId:
          type: string
        outputName:
          type: string
        ownerId:
          type: string
        ownerIdIfEmpty:
          type: string
          writeOnly: true
        type:
          type: string
        version:
          type: string
    GetPolicyValueDataDefinition:
      type: object
      properties:
        origPropertyValue:
          type: string
        policyId:
          type: string
        propertyName:
          type: string
    GroupDefinition:
      type: object
      properties:
        artifacts:
          type: array
          items:
            type: string
        artifactsUuid:
          type: array
          items:
            type: string
        capabilities:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/CapabilityDefinition'
        createdFrom:
          type: string
          enum:
          - UI
          - CSAR
        description:
          type: string
        empty:
          type: boolean
        groupUUID:
          type: string
        invariantName:
          type: string
        invariantUUID:
          type: string
        members:
          type: object
          additionalProperties:
            type: string
        name:
          type: string
        normalizedName:
          type: string
        ownerId:
          type: string
        ownerIdIfEmpty:
          type: string
          writeOnly: true
        properties:
          type: array
          items:
            $ref: '#/components/schemas/PropertyDataDefinition'
        propertyValueCounter:
          type: integer
          format: int32
        type:
          type: string
        typeUid:
          type: string
        uniqueId:
          type: string
        userDefined:
          type: boolean
        version:
          type: string
        vspOriginated:
          type: boolean
    GroupInstance:
      type: object
      properties:
        artifacts:
          type: array
          items:
            type: string
        artifactsUuid:
          type: array
          items:
            type: string
        creationTime:
          type: integer
          format: int64
        customizationUUID:
          type: string
        description:
          type: string
        empty:
          type: boolean
        groupInstanceArtifacts:
          type: array
          items:
            type: string
        groupInstanceArtifactsUuid:
          type: array
          items:
            type: string
        groupName:
          type: string
        groupUUID:
          type: string
        groupUid:
          type: string
        invariantUUID:
          type: string
        modificationTime:
          type: integer
          format: int64
        name:
          type: string
        normalizedName:
          type: string
        ownerId:
          type: string
        ownerIdIfEmpty:
          type: string
          writeOnly: true
        posX:
          type: string
        posY:
          type: string
        properties:
          type: array
          items:
            $ref: '#/components/schemas/PropertyDataDefinition'
        propertyValueCounter:
          type: integer
          format: int32
        type:
          type: string
        uniqueId:
          type: string
        version:
          type: string
    GroupingDefinition:
      type: object
      properties:
        empty:
          type: boolean
        name:
          type: string
        normalizedName:
          type: string
        ownerId:
          type: string
        ownerIdIfEmpty:
          type: string
          writeOnly: true
        type:
          type: string
        uniqueId:
          type: string
        version:
          type: string
    HeatParameterDataDefinition:
      type: object
      properties:
        currentValue:
          type: string
        defaultValue:
          type: string
        description:
          type: string
        empty:
          type: boolean
        name:
          type: string
        ownerId:
          type: string
        ownerIdIfEmpty:
          type: string
          writeOnly: true
        type:
          type: string
        uniqueId:
          type: string
        version:
          type: string
    HeatParameterDefinition:
      type: object
      properties:
        currentValue:
          type: string
        defaultValue:
          type: string
        description:
          type: string
        empty:
          type: boolean
        name:
          type: string
        ownerId:
          type: string
        ownerIdIfEmpty:
          type: string
          writeOnly: true
        type:
          type: string
        uniqueId:
          type: string
        version:
          type: string
    InputDataDefinition:
      type: object
      properties:
        annotations:
          type: array
          items:
            $ref: '#/components/schemas/Annotation'
        defaultValue:
          type: string
        definition:
          type: boolean
        description:
          type: string
        empty:
          type: boolean
        getInputProperty:
          type: boolean
        getInputValues:
          type: array
          items:
            $ref: '#/components/schemas/GetInputValueDataDefinition'
        getPolicyValues:
          type: array
          items:
            $ref: '#/components/schemas/GetPolicyValueDataDefinition'
        hidden:
          type: boolean
        immutable:
          type: boolean
        inputId:
          type: string
        inputPath:
          type: string
        instanceUniqueId:
          type: string
        isDeclaredListInput:
          type: boolean
        label:
          type: string
        mappedToComponentProperty:
          type: boolean
        metadata:
          type: object
          additionalProperties:
            type: string
        model:
          type: string
        name:
          type: string
        ownerId:
          type: string
        ownerIdIfEmpty:
          type: string
          writeOnly: true
        parentPropertyType:
          type: string
        parentUniqueId:
          type: string
        password:
          type: boolean
        propertyConstraints:
          type: array
          items:
            type: string
        propertyId:
          type: string
        required:
          type: boolean
        schema:
          $ref: '#/components/schemas/SchemaDefinition'
        schemaProperty:
          $ref: '#/components/schemas/PropertyDataDefinition'
        schemaType:
          type: string
        status:
          type: string
        subPropertyInputPath:
          type: string
        subPropertyToscaFunctions:
          type: array
          items:
            $ref: '#/components/schemas/SubPropertyToscaFunction'
        toscaFunction:
          $ref: '#/components/schemas/ToscaFunction'
        toscaGetFunction:
          $ref: '#/components/schemas/ToscaGetFunctionDataDefinition'
        toscaGetFunctionType:
          type: string
          enum:
          - GET_INPUT
          - GET_PROPERTY
          - GET_ATTRIBUTE
        type:
          type: string
        uniqueId:
          type: string
        userCreated:
          type: boolean
        value:
          type: string
        version:
          type: string
    InputDefinition:
      type: object
      properties:
        annotations:
          type: array
          items:
            $ref: '#/components/schemas/Annotation'
        annotationsToInput:
          type: array
          items:
            $ref: '#/components/schemas/Annotation'
          writeOnly: true
        constraints:
          type: array
          items:
            $ref: '#/components/schemas/PropertyConstraint'
        defaultValue:
          type: string
        definition:
          type: boolean
        description:
          type: string
        empty:
          type: boolean
        getInputProperty:
          type: boolean
        getInputValues:
          type: array
          items:
            $ref: '#/components/schemas/GetInputValueDataDefinition'
        getPolicyValues:
          type: array
          items:
            $ref: '#/components/schemas/GetPolicyValueDataDefinition'
        hidden:
          type: boolean
        immutable:
          type: boolean
        inputId:
          type: string
        inputPath:
          type: string
        inputs:
          type: array
          items:
            $ref: '#/components/schemas/ComponentInstanceInput'
        instanceUniqueId:
          type: string
        isDeclaredListInput:
          type: boolean
        label:
          type: string
        mappedToComponentProperty:
          type: boolean
        metadata:
          type: object
          additionalProperties:
            type: string
        model:
          type: string
        name:
          type: string
        ownerId:
          type: string
        ownerIdIfEmpty:
          type: string
          writeOnly: true
        parentPropertyType:
          type: string
        parentUniqueId:
          type: string
        password:
          type: boolean
        properties:
          type: array
          items:
            $ref: '#/components/schemas/ComponentInstanceProperty'
        propertyConstraints:
          type: array
          items:
            type: string
        propertyId:
          type: string
        required:
          type: boolean
        schema:
          $ref: '#/components/schemas/SchemaDefinition'
        schemaProperty:
          $ref: '#/components/schemas/PropertyDataDefinition'
        schemaType:
          type: string
        status:
          type: string
        subPropertyInputPath:
          type: string
        subPropertyToscaFunctions:
          type: array
          items:
            $ref: '#/components/schemas/SubPropertyToscaFunction'
        toscaFunction:
          $ref: '#/components/schemas/ToscaFunction'
        toscaGetFunction:
          $ref: '#/components/schemas/ToscaGetFunctionDataDefinition'
        toscaGetFunctionType:
          type: string
          enum:
          - GET_INPUT
          - GET_PROPERTY
          - GET_ATTRIBUTE
        toscaSubPath:
          type: string
        type:
          type: string
        uniqueId:
          type: string
        userCreated:
          type: boolean
        value:
          type: string
        version:
          type: string
    InterfaceDefinition:
      type: object
      properties:
        creationDate:
          type: integer
          format: int64
        definition:
          type: boolean
        derivedFrom:
          type: string
        description:
          type: string
        empty:
          type: boolean
        inputs:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/InputDataDefinition'
        lastUpdateDate:
          type: integer
          format: int64
        model:
          type: string
        operations:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/OperationDataDefinition'
        ownerId:
          type: string
        ownerIdIfEmpty:
          type: string
          writeOnly: true
        toscaResourceName:
          type: string
        type:
          type: string
        uniqueId:
          type: string
        userCreated:
          type: boolean
        version:
          type: string
    InterfaceInstanceDataDefinition:
      type: object
      properties:
        empty:
          type: boolean
        inputs:
          type: object
          additionalProperties:
            type: object
        operations:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/OperationInstance'
        ownerId:
          type: string
        ownerIdIfEmpty:
          type: string
          writeOnly: true
        type:
          type: string
        version:
          type: string
    KafkaDataResponse:
      type: object
      properties:
        distrNotificationTopicName:
          type: string
        distrStatusTopicName:
          type: string
        kafkaBootStrapServer:
          type: string
    ListDataDefinitionOperationInputDefinition:
      type: object
      properties:
        empty:
          type: boolean
        listToscaDataDefinition:
          type: array
          items:
            $ref: '#/components/schemas/OperationInputDefinition'
        ownerId:
          type: string
        ownerIdIfEmpty:
          type: string
          writeOnly: true
        type:
          type: string
        version:
          type: string
    ListDataDefinitionOperationOutputDefinition:
      type: object
      properties:
        empty:
          type: boolean
        listToscaDataDefinition:
          type: array
          items:
            $ref: '#/components/schemas/OperationOutputDefinition'
        ownerId:
          type: string
        ownerIdIfEmpty:
          type: string
          writeOnly: true
        type:
          type: string
        version:
          type: string
    ListDataDefinitionPropertyFilterDataDefinition:
      type: object
      properties:
        empty:
          type: boolean
        listToscaDataDefinition:
          type: array
          items:
            $ref: '#/components/schemas/PropertyFilterDataDefinition'
        ownerId:
          type: string
        ownerIdIfEmpty:
          type: string
          writeOnly: true
        type:
          type: string
        version:
          type: string
    ListDataDefinitionRequirementNodeFilterCapabilityDataDefinition:
      type: object
      properties:
        empty:
          type: boolean
        listToscaDataDefinition:
          type: array
          items:
            $ref: '#/components/schemas/RequirementNodeFilterCapabilityDataDefinition'
        ownerId:
          type: string
        ownerIdIfEmpty:
          type: string
          writeOnly: true
        type:
          type: string
        version:
          type: string
    ListDataDefinitionRequirementSubstitutionFilterCapabilityDataDefinition:
      type: object
      properties:
        empty:
          type: boolean
        listToscaDataDefinition:
          type: array
          items:
            $ref: '#/components/schemas/RequirementSubstitutionFilterCapabilityDataDefinition'
        ownerId:
          type: string
        ownerIdIfEmpty:
          type: string
          writeOnly: true
        type:
          type: string
        version:
          type: string
    ListDataDefinitionSubstitutionFilterPropertyDataDefinition:
      type: object
      properties:
        empty:
          type: boolean
        listToscaDataDefinition:
          type: array
          items:
            $ref: '#/components/schemas/SubstitutionFilterPropertyDataDefinition'
        ownerId:
          type: string
        ownerIdIfEmpty:
          type: string
          writeOnly: true
        type:
          type: string
        version:
          type: string
    MetadataKeyDataDefinition:
      type: object
      properties:
        defaultValue:
          type: string
        displayName:
          type: string
        empty:
          type: boolean
        mandatory:
          type: boolean
        name:
          type: string
        ownerId:
          type: string
        ownerIdIfEmpty:
          type: string
          writeOnly: true
        type:
          type: string
        validValues:
          type: array
          items:
            type: string
        version:
          type: string
    OperationDataDefinition:
      type: object
      properties:
        creationDate:
          type: integer
          format: int64
        description:
          type: string
        empty:
          type: boolean
        implementation:
          $ref: '#/components/schemas/ArtifactDataDefinition'
        inputs:
          $ref: '#/components/schemas/ListDataDefinitionOperationInputDefinition'
        lastUpdateDate:
          type: integer
          format: int64
        name:
          type: string
        outputs:
          $ref: '#/components/schemas/ListDataDefinitionOperationOutputDefinition'
        ownerId:
          type: string
        ownerIdIfEmpty:
          type: string
          writeOnly: true
        type:
          type: string
        uniqueId:
          type: string
        version:
          type: string
        workflowAssociationType:
          type: string
        workflowId:
          type: string
        workflowName:
          type: string
        workflowVersion:
          type: string
        workflowVersionId:
          type: string
    OperationImplementation:
      type: object
      properties:
        dependencies:
          type: array
          items:
            type: string
        primary:
          type: string
    OperationInputDefinition:
      type: object
      properties:
        annotations:
          type: array
          items:
            $ref: '#/components/schemas/Annotation'
        defaultValue:
          type: string
        definition:
          type: boolean
        description:
          type: string
        empty:
          type: boolean
        getInputProperty:
          type: boolean
        getInputValues:
          type: array
          items:
            $ref: '#/components/schemas/GetInputValueDataDefinition'
        getPolicyValues:
          type: array
          items:
            $ref: '#/components/schemas/GetPolicyValueDataDefinition'
        hidden:
          type: boolean
        immutable:
          type: boolean
        inputId:
          type: string
        inputPath:
          type: string
        instanceUniqueId:
          type: string
        isDeclaredListInput:
          type: boolean
        label:
          type: string
        mappedToComponentProperty:
          type: boolean
        metadata:
          type: object
          additionalProperties:
            type: string
        model:
          type: string
        name:
          type: string
        ownerId:
          type: string
        ownerIdIfEmpty:
          type: string
          writeOnly: true
        parentPropertyType:
          type: string
        parentUniqueId:
          type: string
        password:
          type: boolean
        propertyConstraints:
          type: array
          items:
            type: string
        propertyId:
          type: string
        required:
          type: boolean
        schema:
          $ref: '#/components/schemas/SchemaDefinition'
        schemaProperty:
          $ref: '#/components/schemas/PropertyDataDefinition'
        schemaType:
          type: string
        source:
          type: string
        sourceProperty:
          type: string
        status:
          type: string
        subPropertyInputPath:
          type: string
        subPropertyToscaFunctions:
          type: array
          items:
            $ref: '#/components/schemas/SubPropertyToscaFunction'
        toscaDefaultValue:
          type: string
        toscaFunction:
          $ref: '#/components/schemas/ToscaFunction'
        toscaGetFunction:
          $ref: '#/components/schemas/ToscaGetFunctionDataDefinition'
        toscaGetFunctionType:
          type: string
          enum:
          - GET_INPUT
          - GET_PROPERTY
          - GET_ATTRIBUTE
        type:
          type: string
        uniqueId:
          type: string
        userCreated:
          type: boolean
        value:
          type: string
        version:
          type: string
    OperationInstance:
      type: object
      properties:
        implementation:
          $ref: '#/components/schemas/OperationImplementation'
        inputs:
          type: object
          additionalProperties:
            type: object
    OperationOutputDefinition:
      type: object
      properties:
        annotations:
          type: array
          items:
            $ref: '#/components/schemas/Annotation'
        defaultValue:
          type: string
        definition:
          type: boolean
        description:
          type: string
        empty:
          type: boolean
        getInputProperty:
          type: boolean
        getInputValues:
          type: array
          items:
            $ref: '#/components/schemas/GetInputValueDataDefinition'
        getPolicyValues:
          type: array
          items:
            $ref: '#/components/schemas/GetPolicyValueDataDefinition'
        hidden:
          type: boolean
        immutable:
          type: boolean
        inputId:
          type: string
        inputPath:
          type: string
        instanceUniqueId:
          type: string
        isDeclaredListInput:
          type: boolean
        label:
          type: string
        mappedToComponentProperty:
          type: boolean
        metadata:
          type: object
          additionalProperties:
            type: string
        model:
          type: string
        name:
          type: string
        ownerId:
          type: string
        ownerIdIfEmpty:
          type: string
          writeOnly: true
        parentPropertyType:
          type: string
        parentUniqueId:
          type: string
        password:
          type: boolean
        propertyConstraints:
          type: array
          items:
            type: string
        propertyId:
          type: string
        required:
          type: boolean
        schema:
          $ref: '#/components/schemas/SchemaDefinition'
        schemaProperty:
          $ref: '#/components/schemas/PropertyDataDefinition'
        schemaType:
          type: string
        status:
          type: string
        subPropertyInputPath:
          type: string
        subPropertyToscaFunctions:
          type: array
          items:
            $ref: '#/components/schemas/SubPropertyToscaFunction'
        toscaFunction:
          $ref: '#/components/schemas/ToscaFunction'
        toscaGetFunction:
          $ref: '#/components/schemas/ToscaGetFunctionDataDefinition'
        toscaGetFunctionType:
          type: string
          enum:
          - GET_INPUT
          - GET_PROPERTY
          - GET_ATTRIBUTE
        type:
          type: string
        uniqueId:
          type: string
        userCreated:
          type: boolean
        value:
          type: string
        version:
          type: string
    OperationUi:
      type: object
      properties:
        implementation:
          type: object
        inputs:
          type: array
          items:
            $ref: '#/components/schemas/PropertyAssignmentUi'
        interfaceType:
          type: string
        operationType:
          type: string
    OutputDefinition:
      type: object
      properties:
        attribute:
          $ref: '#/components/schemas/ComponentInstanceAttribute'
        attributeId:
          type: string
        defaultValue:
          type: string
        definition:
          type: boolean
        description:
          type: string
        empty:
          type: boolean
        entry_schema:
          $ref: '#/components/schemas/EntrySchema'
        getOutputAttribute:
          type: boolean
        getOutputValues:
          type: array
          items:
            $ref: '#/components/schemas/GetOutputValueDataDefinition'
        get_default:
          type: object
        instanceUniqueId:
          type: string
        model:
          type: string
        name:
          type: string
        outputId:
          type: string
        outputPath:
          type: string
        ownerId:
          type: string
        ownerIdIfEmpty:
          type: string
          writeOnly: true
        parentUniqueId:
          type: string
        schema:
          $ref: '#/components/schemas/SchemaDefinition'
        schemaType:
          type: string
        status:
          type: string
        type:
          type: string
        uniqueId:
          type: string
        value:
          type: string
        version:
          type: string
    PolicyDefinition:
      type: object
      properties:
        annotations:
          type: array
          items:
            $ref: '#/components/schemas/Annotation'
        componentName:
          type: string
        defaultValue:
          type: string
        definition:
          type: boolean
        derivedFrom:
          type: string
        description:
          type: string
        empty:
          type: boolean
        getInputProperty:
          type: boolean
        getInputValues:
          type: array
          items:
            $ref: '#/components/schemas/GetInputValueDataDefinition'
        getPolicyValues:
          type: array
          items:
            $ref: '#/components/schemas/GetPolicyValueDataDefinition'
        hidden:
          type: boolean
        immutable:
          type: boolean
        inputId:
          type: string
        inputPath:
          type: string
        instanceUniqueId:
          type: string
        invariantName:
          type: string
        invariantUUID:
          type: string
        isDeclaredListInput:
          type: boolean
        isFromCsar:
          type: boolean
        label:
          type: string
        mappedToComponentProperty:
          type: boolean
        metadata:
          type: object
          additionalProperties:
            type: string
        model:
          type: string
        name:
          type: string
        normalizedName:
          type: string
        ownerId:
          type: string
        ownerIdIfEmpty:
          type: string
          writeOnly: true
        parentPropertyType:
          type: string
        parentUniqueId:
          type: string
        password:
          type: boolean
        policyTypeName:
          type: string
        policyTypeUid:
          type: string
        policyUUID:
          type: string
        properties:
          type: array
          items:
            $ref: '#/components/schemas/PropertyDataDefinition'
        propertyConstraints:
          type: array
          items:
            type: string
        propertyId:
          type: string
        required:
          type: boolean
        schema:
          $ref: '#/components/schemas/SchemaDefinition'
        schemaProperty:
          $ref: '#/components/schemas/PropertyDataDefinition'
        schemaType:
          type: string
        status:
          type: string
        subPropertyInputPath:
          type: string
        subPropertyToscaFunctions:
          type: array
          items:
            $ref: '#/components/schemas/SubPropertyToscaFunction'
        targets:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
        toscaFunction:
          $ref: '#/components/schemas/ToscaFunction'
        toscaGetFunction:
          $ref: '#/components/schemas/ToscaGetFunctionDataDefinition'
        toscaGetFunctionType:
          type: string
          enum:
          - GET_INPUT
          - GET_PROPERTY
          - GET_ATTRIBUTE
        type:
          type: string
        uniqueId:
          type: string
        userCreated:
          type: boolean
        value:
          type: string
        version:
          type: string
    PropertyAssignmentUi:
      type: object
      properties:
        name:
          type: string
        type:
          type: string
        value:
          type: string
    PropertyConstraint:
      type: object
    PropertyDataDefinition:
      type: object
      properties:
        annotations:
          type: array
          items:
            $ref: '#/components/schemas/Annotation'
        defaultValue:
          type: string
        definition:
          type: boolean
        description:
          type: string
        empty:
          type: boolean
        getInputProperty:
          type: boolean
        getInputValues:
          type: array
          items:
            $ref: '#/components/schemas/GetInputValueDataDefinition'
        getPolicyValues:
          type: array
          items:
            $ref: '#/components/schemas/GetPolicyValueDataDefinition'
        hidden:
          type: boolean
        immutable:
          type: boolean
        inputId:
          type: string
        inputPath:
          type: string
        instanceUniqueId:
          type: string
        isDeclaredListInput:
          type: boolean
        label:
          type: string
        mappedToComponentProperty:
          type: boolean
        metadata:
          type: object
          additionalProperties:
            type: string
        model:
          type: string
        name:
          type: string
        ownerId:
          type: string
        ownerIdIfEmpty:
          type: string
          writeOnly: true
        parentPropertyType:
          type: string
        parentUniqueId:
          type: string
        password:
          type: boolean
        propertyConstraints:
          type: array
          items:
            type: string
        propertyId:
          type: string
        required:
          type: boolean
        schema:
          $ref: '#/components/schemas/SchemaDefinition'
        schemaProperty:
          $ref: '#/components/schemas/PropertyDataDefinition'
        schemaType:
          type: string
        status:
          type: string
        subPropertyInputPath:
          type: string
        subPropertyToscaFunctions:
          type: array
          items:
            $ref: '#/components/schemas/SubPropertyToscaFunction'
        toscaFunction:
          $ref: '#/components/schemas/ToscaFunction'
        toscaGetFunction:
          $ref: '#/components/schemas/ToscaGetFunctionDataDefinition'
        toscaGetFunctionType:
          type: string
          enum:
          - GET_INPUT
          - GET_PROPERTY
          - GET_ATTRIBUTE
        type:
          type: string
        uniqueId:
          type: string
        userCreated:
          type: boolean
        value:
          type: string
        version:
          type: string
    PropertyDefinition:
      type: object
      properties:
        annotations:
          type: array
          items:
            $ref: '#/components/schemas/Annotation'
        constraints:
          type: array
          items:
            $ref: '#/components/schemas/PropertyConstraint'
        defaultValue:
          type: string
        definition:
          type: boolean
        description:
          type: string
        empty:
          type: boolean
        getInputProperty:
          type: boolean
        getInputValues:
          type: array
          items:
            $ref: '#/components/schemas/GetInputValueDataDefinition'
        getPolicyValues:
          type: array
          items:
            $ref: '#/components/schemas/GetPolicyValueDataDefinition'
        hidden:
          type: boolean
        immutable:
          type: boolean
        inputId:
          type: string
        inputPath:
          type: string
        instanceUniqueId:
          type: string
        isDeclaredListInput:
          type: boolean
        label:
          type: string
        mappedToComponentProperty:
          type: boolean
        metadata:
          type: object
          additionalProperties:
            type: string
        model:
          type: string
        name:
          type: string
        ownerId:
          type: string
        ownerIdIfEmpty:
          type: string
          writeOnly: true
        parentPropertyType:
          type: string
        parentUniqueId:
          type: string
        password:
          type: boolean
        propertyConstraints:
          type: array
          items:
            type: string
        propertyId:
          type: string
        required:
          type: boolean
        schema:
          $ref: '#/components/schemas/SchemaDefinition'
        schemaProperty:
          $ref: '#/components/schemas/PropertyDataDefinition'
        schemaType:
          type: string
        status:
          type: string
        subPropertyInputPath:
          type: string
        subPropertyToscaFunctions:
          type: array
          items:
            $ref: '#/components/schemas/SubPropertyToscaFunction'
        toscaFunction:
          $ref: '#/components/schemas/ToscaFunction'
        toscaGetFunction:
          $ref: '#/components/schemas/ToscaGetFunctionDataDefinition'
        toscaGetFunctionType:
          type: string
          enum:
          - GET_INPUT
          - GET_PROPERTY
          - GET_ATTRIBUTE
        toscaSubPath:
          type: string
        type:
          type: string
        uniqueId:
          type: string
        userCreated:
          type: boolean
        value:
          type: string
        version:
          type: string
    PropertyFilterConstraintDataDefinition:
      type: object
      properties:
        capabilityName:
          type: string
        operator:
          type: string
          enum:
          - EQUAL
          - IN_RANGE
          - GREATER_THAN
          - GREATER_OR_EQUAL
          - LESS_OR_EQUAL
          - LENGTH
          - MIN_LENGTH
          - MAX_LENGTH
          - VALID_VALUES
          - LESS_THAN
          - PATTERN
          - SCHEMA
        propertyName:
          type: string
        targetType:
          type: string
          enum:
          - CAPABILITY
          - PROPERTY
        value:
          type: object
        valueType:
          type: string
          enum:
          - STATIC
          - GET_PROPERTY
          - GET_INPUT
          - GET_ATTRIBUTE
          - YAML
          - CONCAT
    PropertyFilterDataDefinition:
      type: object
      properties:
        constraints:
          type: array
          items:
            $ref: '#/components/schemas/PropertyFilterConstraintDataDefinition'
        empty:
          type: boolean
        name:
          type: string
        ownerId:
          type: string
        ownerIdIfEmpty:
          type: string
          writeOnly: true
        type:
          type: string
        version:
          type: string
    PropertyRule:
      type: object
      properties:
        empty:
          type: boolean
        ownerId:
          type: string
        ownerIdIfEmpty:
          type: string
          writeOnly: true
        rule:
          type: array
          items:
            type: string
        type:
          type: string
        value:
          type: string
        version:
          type: string
    RelationshipImpl:
      type: object
      properties:
        type:
          type: string
    RelationshipInfo:
      type: object
      properties:
        capability:
          type: string
        capabilityOwnerId:
          type: string
        capabilityUid:
          type: string
        id:
          type: string
        relationship:
          $ref: '#/components/schemas/RelationshipImpl'
        relationships:
          $ref: '#/components/schemas/RelationshipImpl'
        requirement:
          type: string
        requirementOwnerId:
          type: string
        requirementUid:
          type: string
    RequirementCapabilityRelDef:
      type: object
      properties:
        fromNode:
          type: string
        originUI:
          type: boolean
        relationships:
          type: array
          items:
            $ref: '#/components/schemas/CapabilityRequirementRelationship'
        toNode:
          type: string
        uid:
          type: string
    RequirementDataDefinition:
      type: object
      properties:
        capability:
          type: string
        empty:
          type: boolean
        external:
          type: boolean
        externalName:
          type: string
        leftOccurrences:
          type: string
        maxOccurrences:
          type: string
        minOccurrences:
          type: string
        name:
          type: string
        node:
          type: string
        ownerId:
          type: string
        ownerIdIfEmpty:
          type: string
          writeOnly: true
        ownerName:
          type: string
        parentName:
          type: string
        path:
          type: array
          items:
            type: string
        previousName:
          type: string
        relationship:
          type: string
        source:
          type: string
        type:
          type: string
        uniqueId:
          type: string
        version:
          type: string
    RequirementDefinition:
      type: object
      properties:
        capability:
          type: string
        empty:
          type: boolean
        external:
          type: boolean
        externalName:
          type: string
        leftOccurrences:
          type: string
        maxOccurrences:
          type: string
        minOccurrences:
          type: string
        name:
          type: string
        node:
          type: string
        ownerId:
          type: string
        ownerIdIfEmpty:
          type: string
          writeOnly: true
        ownerName:
          type: string
        parentName:
          type: string
        path:
          type: array
          items:
            type: string
        previousName:
          type: string
        relationship:
          type: string
        source:
          type: string
        type:
          type: string
        uniqueId:
          type: string
        version:
          type: string
    RequirementNodeFilterCapabilityDataDefinition:
      type: object
      properties:
        empty:
          type: boolean
        name:
          type: string
        ownerId:
          type: string
        ownerIdIfEmpty:
          type: string
          writeOnly: true
        properties:
          $ref: '#/components/schemas/ListDataDefinitionPropertyFilterDataDefinition'
        type:
          type: string
        version:
          type: string
    RequirementSubstitutionFilterCapabilityDataDefinition:
      type: object
      properties:
        empty:
          type: boolean
        name:
          type: string
        ownerId:
          type: string
        ownerIdIfEmpty:
          type: string
          writeOnly: true
        properties:
          $ref: '#/components/schemas/ListDataDefinitionPropertyFilterDataDefinition'
        type:
          type: string
        version:
          type: string
    Resource:
      type: object
      properties:
        abstract:
          type: boolean
        actualComponentType:
          type: string
        additionalInformation:
          type: array
          items:
            $ref: '#/components/schemas/AdditionalInformationDefinition'
        allArtifacts:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/ArtifactDefinition'
        allVersions:
          type: object
          additionalProperties:
            type: string
        archiveTime:
          type: integer
          format: int64
        archived:
          type: boolean
        artifacts:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/ArtifactDefinition'
        attributes:
          type: array
          items:
            $ref: '#/components/schemas/AttributeDefinition'
        capabilities:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/CapabilityDefinition'
        categories:
          type: array
          items:
            $ref: '#/components/schemas/CategoryDefinition'
        categorySpecificMetadata:
          type: object
          additionalProperties:
            type: string
        componentInstances:
          type: array
          items:
            $ref: '#/components/schemas/ComponentInstance'
        componentInstancesAttributes:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/ComponentInstanceAttribute'
        componentInstancesInputs:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/ComponentInstanceInput'
        componentInstancesInterfaces:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/ComponentInstanceInterface'
        componentInstancesOutputs:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/ComponentInstanceOutput'
        componentInstancesProperties:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/ComponentInstanceProperty'
        componentInstancesRelations:
          type: array
          items:
            $ref: '#/components/schemas/RequirementCapabilityRelDef'
        componentMetadataForSupportLog:
          type: object
          additionalProperties:
            type: string
        componentType:
          type: string
          enum:
          - RESOURCE
          - SERVICE
          - RESOURCE_INSTANCE
          - PRODUCT
          - SERVICE_INSTANCE
        conformanceLevel:
          type: string
        contactId:
          type: string
        cost:
          type: string
        creationDate:
          type: integer
          format: int64
        creatorFullName:
          type: string
        creatorUserId:
          type: string
        csarUUID:
          type: string
        csarVersion:
          type: string
        csarVersionId:
          type: string
        dataTypes:
          type: array
          items:
            $ref: '#/components/schemas/DataTypeDefinition'
        deploymentArtifacts:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/ArtifactDefinition'
        derivedFrom:
          type: array
          items:
            type: string
        derivedFromGenericInfo:
          $ref: '#/components/schemas/Resource'
        derivedFromGenericType:
          type: string
        derivedFromGenericVersion:
          type: string
        derivedFromMapOfIdToName:
          type: object
          additionalProperties:
            type: string
        derivedList:
          type: array
          items:
            type: string
        description:
          type: string
        groups:
          type: array
          items:
            $ref: '#/components/schemas/GroupDefinition'
        highestVersion:
          type: boolean
        icon:
          type: string
        importedToscaChecksum:
          type: string
        inputs:
          type: array
          items:
            $ref: '#/components/schemas/InputDefinition'
        interfaces:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/InterfaceDefinition'
        invariantUUID:
          type: string
        isDeleted:
          type: boolean
        lastUpdateDate:
          type: integer
          format: int64
        lastUpdaterFullName:
          type: string
        lastUpdaterUserId:
          type: string
        licenseType:
          type: string
        lifecycleState:
          type: string
          enum:
          - CERTIFIED
          - NOT_CERTIFIED_CHECKIN
          - NOT_CERTIFIED_CHECKOUT
        model:
          type: string
        name:
          type: string
        nodeFilterComponents:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/CINodeFilterDataDefinition'
        normalizedName:
          type: string
        outputs:
          type: array
          items:
            $ref: '#/components/schemas/OutputDefinition'
        policies:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/PolicyDefinition'
        projectCode:
          type: string
        properties:
          type: array
          items:
            $ref: '#/components/schemas/PropertyDefinition'
        requirements:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/RequirementDefinition'
        resourceType:
          type: string
          enum:
          - VFC
          - VF
          - CR
          - CP
          - PNF
          - CVFC
          - VL
          - VFCMT
          - Configuration
          - ServiceProxy
          - ABSTRACT
          - SERVICE
        resourceVendorModelNumber:
          type: string
        service:
          type: boolean
        specificComponetTypeArtifacts:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/ArtifactDefinition'
          writeOnly: true
        state:
          type: string
          enum:
          - CERTIFIED
          - NOT_CERTIFIED_CHECKIN
          - NOT_CERTIFIED_CHECKOUT
          writeOnly: true
        substitutionFilter:
          $ref: '#/components/schemas/SubstitutionFilterDataDefinition'
        systemName:
          type: string
        tags:
          type: array
          items:
            type: string
        tenant:
          type: string
        topologyTemplate:
          type: boolean
        toscaArtifacts:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/ArtifactDefinition'
        toscaResourceName:
          type: string
        toscaType:
          type: string
        toscaVersion:
          type: string
        uniqueId:
          type: string
        uuid:
          type: string
        vendorName:
          type: string
        vendorRelease:
          type: string
        version:
          type: string
        vspArchived:
          type: boolean
    SchemaDefinition:
      type: object
      properties:
        constraints:
          type: array
          items:
            type: string
        derivedFrom:
          type: string
        empty:
          type: boolean
        ownerId:
          type: string
        ownerIdIfEmpty:
          type: string
          writeOnly: true
        properties:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/PropertyDataDefinition'
        property:
          $ref: '#/components/schemas/PropertyDataDefinition'
        type:
          type: string
        version:
          type: string
    ServiceAssetMetadata:
      type: object
      properties:
        additionalRequestedMetadata:
          type: object
          additionalProperties:
            type: object
        category:
          type: string
        distributionStatus:
          type: string
        invariantUUID:
          type: string
        lastUpdaterUserId:
          type: string
        lifecycleState:
          type: string
        name:
          type: string
        toscaModelURL:
          type: string
        uuid:
          type: string
        version:
          type: string
    SubCategoryDefinition:
      type: object
      properties:
        empty:
          type: boolean
        groupings:
          type: array
          items:
            $ref: '#/components/schemas/GroupingDefinition'
        icons:
          type: array
          items:
            type: string
        metadataKeys:
          type: array
          items:
            $ref: '#/components/schemas/MetadataKeyDataDefinition'
        name:
          type: string
        normalizedName:
          type: string
        ownerId:
          type: string
        ownerIdIfEmpty:
          type: string
          writeOnly: true
        type:
          type: string
        uniqueId:
          type: string
        version:
          type: string
    SubPropertyToscaFunction:
      type: object
      properties:
        subPropertyPath:
          type: array
          items:
            type: string
        toscaFunction:
          $ref: '#/components/schemas/ToscaFunction'
    SubstitutionFilterDataDefinition:
      type: object
      properties:
        capabilities:
          $ref: '#/components/schemas/ListDataDefinitionRequirementSubstitutionFilterCapabilityDataDefinition'
        empty:
          type: boolean
        id:
          type: string
        name:
          type: string
        ownerId:
          type: string
        ownerIdIfEmpty:
          type: string
          writeOnly: true
        properties:
          $ref: '#/components/schemas/ListDataDefinitionSubstitutionFilterPropertyDataDefinition'
        tosca_id:
          type: object
        type:
          type: string
        version:
          type: string
    SubstitutionFilterPropertyDataDefinition:
      type: object
      properties:
        constraints:
          type: array
          items:
            $ref: '#/components/schemas/PropertyFilterConstraintDataDefinition'
        empty:
          type: boolean
        name:
          type: string
        ownerId:
          type: string
        ownerIdIfEmpty:
          type: string
          writeOnly: true
        type:
          type: string
        version:
          type: string
    ToscaArtifactDataDefinition:
      type: object
      properties:
        file:
          type: string
        properties:
          type: object
          additionalProperties:
            type: object
        type:
          type: string
    ToscaFunction:
      type: object
      properties:
        jsonObjectValue:
          type: object
        type:
          type: string
          enum:
          - GET_INPUT
          - GET_PROPERTY
          - GET_ATTRIBUTE
          - CONCAT
          - CUSTOM
          - YAML
          - STRING
        value:
          type: string
    ToscaGetFunctionDataDefinition:
      type: object
      properties:
        functionType:
          type: string
          enum:
          - GET_INPUT
          - GET_PROPERTY
          - GET_ATTRIBUTE
        propertyName:
          type: string
        propertyPathFromSource:
          type: array
          items:
            type: string
        propertySource:
          type: string
          enum:
          - SELF
          - INSTANCE
        propertyUniqueId:
          type: string
        sourceName:
          type: string
        sourceUniqueId:
          type: string
        type:
          type: string
          enum:
          - GET_INPUT
          - GET_PROPERTY
          - GET_ATTRIBUTE
          - CONCAT
          - CUSTOM
          - YAML
          - STRING
