MEC010-2_AppPkgMgmt.yaml 84.5 KB
Newer Older
            $ref: '#/components/schemas/AppPkgFilter'
          description: The attribute-based filter is to filter application packages on which the query applies
      description: "'The data type represents the input parameters of \"subscription operation\" to notification of application package management for the onboarding, or operational state change of application package.'"

    AppPkgFilter:
      title: AppPkgFilter
      type: object
      properties:
        appPkgInfoId:
          type: string
          description: Match the application package identifier which is allocated by the MEO. The attributes "appPkgInfoId ", and "appDId" are alternatives to reference particular application package in a filter. see note.
        appDId:
          type: string
          description: Match the application descriptor identifier which is allocated by the application provider. The attributes "appPkgInfoId ", and "appDId" are alternatives to reference particular application package in a filter. See note.
        appProvider:
          type: string
          description: Match the provider's name of the onboarded application.
        appName:
          type: string
          description: Match the name of the onboarded application.
        appSoftwareVersion:
          type: string
          description: Match the software version of the application package.
        appDVersion:
          type: string
          description: Match the version of the application descriptor.
        operationalState:
          $ref: '#/components/schemas/OperationalState3'
        usageState:
          type: string
          description: Match particular usage state of the application package. May be present if the "subscriptionType" attribute contains the value "AppPackageChangeSubscription", and shall be absent otherwise.
          enum:
            - N_USE
            - NOT_IN_USE
      description: |
        NOTE: The attributes "appPkgInfoId ", and "appDId" are alternatives to reference particular application package in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.
Elian Kraja's avatar
Elian Kraja committed
    Checksum:
      title: Checksum
Elian Kraja's avatar
Elian Kraja committed
      required:
      - algorithm
      - hash
      type: object
      properties:
        algorithm:
          type: string
          description: Name of the algorithm used to generate the checksum,  as defined in ETSI GS NFV-SOL 004. For example, SHA-256, SHA-512.
        hash:
          type: string
          description: "'String 1 The hexadecimal value of the checksum'"
Elian Kraja's avatar
Elian Kraja committed
    CreateAppPkg:
      title: CreateAppPkg
      required:
      - appPkgName
      - appPkgPath
      - appPkgVersion
      - checksum
      type: object
Elian Kraja's avatar
Elian Kraja committed
      properties:
        appPkgName:
          type: string
          description: Name of the application package to be onboarded.
Elian Kraja's avatar
Elian Kraja committed
        appPkgPath:
          type: string
          format: uri
          description: Address information of the application package. See note.
Elian Kraja's avatar
Elian Kraja committed
        appPkgVersion:
          type: string
          description: Version of the application package to be onboarded.The appPkgName with appPkgVersion can be used to uniquely identify the application package.
Elian Kraja's avatar
Elian Kraja committed
        appProvider:
          type: string
          description: The provider's name of the application package to be onboarded.
Elian Kraja's avatar
Elian Kraja committed
        checksum:
          $ref: '#/components/schemas/Checksum'
        userDefinedData:
          $ref: '#/components/schemas/KeyValuePairs'
          description: "'This data type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key-value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259'"
      description: |
        NOTE: It is for further study how to convey appPkgPath, and align with ETSI GS NFV-SOL 005 [i.7].

    LinkType:
      title: LinkType
Elian Kraja's avatar
Elian Kraja committed
      required:
Elian Kraja's avatar
Elian Kraja committed
      type: object
      properties:
        href:
          type: string
          description: URI referring to a resource
Elian Kraja's avatar
Elian Kraja committed
    ProblemDetails:
      title: ProblemDetails
      type: object
Elian Kraja's avatar
Elian Kraja committed
      properties:
        detail:
          type: string
          description: A human-readable explanation specific to this occurrence of the problem
Elian Kraja's avatar
Elian Kraja committed
        instance:
          type: string
          description: A URI reference that identifies the specific occurrence of the problem
Elian Kraja's avatar
Elian Kraja committed
        status:
          type: integer
          description: The HTTP status code for this occurrence of the problem
          format: int32
Elian Kraja's avatar
Elian Kraja committed
        title:
          type: string
          description: A short, human-readable summary of the problem type
Elian Kraja's avatar
Elian Kraja committed
        type:
          type: string
          description: A URI reference according to IETF RFC 3986 that identifies the problem type      
Elian Kraja's avatar
Elian Kraja committed
    TimeStamp:
      title: TimeStamp
      required:
      - nanoSeconds
      - seconds
      type: object
Elian Kraja's avatar
Elian Kraja committed
      properties:
        nanoSeconds:
          type: integer
          description: The nanoseconds part of the Time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC.
          format: int32
Elian Kraja's avatar
Elian Kraja committed
        seconds:
          type: integer
          description: The seconds part of the Time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC.
          format: int32
    OperationalState:
      title: OperationalState
      description: |
        Operational state of the application package:

        ENABLED: the application package can be used for instantiation of new application instances.
        DISABLED: the application package cannot be used for further application instantiation requests.
      type: string
      enum:
      - DISABLED
      - ENABLED
      examples:
      - DISABLED
    
    OperationalState2:
      title: OperationalState
      description: |
        New value of the "operationalState" attribute of the "OnboardedAppPkgInfo" structure.
        
        Permitted values
        DISABLED: to disable the individual application package.
        ENABLED: to enable the individual application package.
      type: string
      enum:
      - DISABLED
      - ENABLED
      examples:
      - ENABLED

    OperationalState3:
      title: OperationalState
      description: |
        Match particular operational state of the application package.
        
        ENABLED: the application package can be used for instantiation of new application instances.
        DISABLED: the application package cannot be used for further application instantiation requests.

        May be present if the "subscriptionType" attribute contains the value "AppPackageChangeSubscription",
        and shall be absent otherwise.
Elian Kraja's avatar
Elian Kraja committed
      type: string
      enum:
        - ENABLED
        - DISABLED
  responses:
    '400':
      description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.'
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
    '401':
      description: 'Unauthorized :  used when the client did not submit credentials.'
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
    '403':
      description: 'Forbidden :  operation is not allowed given the current status of the resource.'
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
    '404':
      description: 'Not Found :  used when a client provided a URI that cannot be mapped to a valid resource URI.'
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
    '406':
      description: 'Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.'
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
    '429':
      description: 'Too Many Requests: used when a rate limiter has triggered.'
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'