SOL002_def.yaml 61.5 KB
Newer Older
      certificateExtensions:
        $ref: "#/definitions/KeyValuePairs"
        description: Extension of this certificate.

  CertificateConfigurationInfo:
    description: >
      This type provides input information related to certificate management.
    type: object
    required:
      - securityPolicy
    properties:
      certificateBaseProfile:
        description: >
          Information for certificate profile.
        type: array
        $ref: "#/definitions/CertificateBaseProfile"
      securityPolicy:
        description: >
          Information for security policy to be satisfied for certificate.
        type: array
        items:
          $ref: "#/definitions/SecurityPolicy"
      delegationSupportedCertificateManagements:
        description: >
          Describes supported certificate management information.
        $ref: "#/definitions/KeyValuePairs"
      cmfInfo:
        description: >
          Information of CMF.
        type: object
        $ref: "#/definitions/CmfInfo"

  SecurityPolicy:
    type: object
    properties:
      id:
        type: string
        description: >
          Identifier of this security policy.
        $ref: "#/definitions/Identifier"
      maxValidityPeriod:
        type: integer
        description: >
          Allowed max validity period for certificates.
      allowedAlgorithm:
        type: string
        description: >
          Allowed signature algorithm.
      minimumKeyLength:
        type: integer
        description: >
          Minimum key length for certificates.

  CertificateBaseProfile:
    description: >
      This type provides input information to override certificate base profile for
      certificate management

      * NOTE : At least one overriding attributes shall be present, otherwise shall be absent.
    required:
      - id
    properties:
      id:
        type: string
        description: >
          The identifier of this certificate profile.
        $ref: "#/definitions/Identifier"
      issuer:
        type: string
        description: >
          Issuer of certificates. See note.
      issuerUniqueIdentifier:
        type: string
        description: >
          Identifier of this issuer of certificates. See note.
        $ref: "#/definitions/Identifier"
      subject:
        description: >
          Subject of certificates. See note.
        $ref: '#/definitions/CertSubjectData'
      subjectUniqueIdentifier:
        type: string
        description: >
          Identifier of this subject of certificates. See note.
        $ref: "#/definitions/Identifier"
      basicConstraints:
        type: string
        description: >
          Basic constraints of certificates. See note.
      issuerAltName:
        type: array
        items:
          type: string
        description: >
          Alternative name of issuer of certificates in this NS. See note.
      subjectAltName:
        type: array
        items:
          type: string
        description: >
          Alternative name of subject of certificates. See note.
      nameConstraints:
        type: array
        items:
          type: string
        description: >
          Name constraints of certificates. See note.

  CertSubjectData:
    description: >
      This type provides input information related to subject of certificate.

      * NOTE: At least one overriding attributes shall be present, otherwise shall be absent.
    type: object
    properties:
      commonName:
        type: string
        description: >
          Information of certification target subject FQDN. See note.
      organization:
        type: string
        description: >
          Information of certification target subject Organization. See note.
      country:
        type: string
        description: >
          Information of certification target subject Country. See note.
      state:
        type: string
        description: >
          Information of certification target subject State. See note.
      locality:
        type: string
        description: >
          Information of certification target subject Locality. See note.
      emailAddress:
        type: string
        description: >
          Information of certification contact email address. See note.


  DateTime:
    description: >
      Date-time stamp.
      Representation: String formatted according to IETF RFC 3339.
    type: string
    format: date-time

  Uri:
    description: >
      String formatted according to IETF RFC 3986.
    type: string

  Boolean:
    description: >
      The Boolean is a data type having two values (true and false).
    type: boolean

  MacAddress:
    description: >
      A MAC address. Representation: string that consists of groups of two hexadecimal digits,
      separated by hyphens or colons.
    type: string
    format: MAC

  IpAddress:
    description: >
      An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal
      integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that
      consists of groups of zero to four hexadecimal digits, separated by colons.
    type: string
    format: IP

  Version:
    description: >
      A version.
    type: string

  String:
    description: >
      A string defined in IETF RFC 8259.
    type: string

  Number:
    description: >
      A number defined in IETF RFC 8259.
    type: number

  UnsignedInt:
    description: >
      Unsigned integer number
    type: integer
    minimum: 0

  IdentifierInVnfd:
    description: >
      An identifier that is unique within a VNF descriptor.
    type: string

  IdentifierInVim:
    description: >
      An identifier maintained by the VIM  or the CISM or other resource provider. It is
      expected to be unique within the VIM instance.
    type: string

  IdentifierInVnf:
    description: >
      An identifier that is unique for the respective type within a VNF
      instance, but may not be globally unique.
    type: string

  IdentifierLocal:
    description: >
      An identifier that is unique within a limited local scope other than above listed identifiers,
      such as within a complex data structure or within a request-response pair.
      Representation: string of variable length.
    type: string

  Checksum: #no definition found
    description: >
      Cheksum description
    type: string

########################################################################################################################
# TO CHECK IF INCLUDE THESE DATA TYPES IN ANOTHER DEF FILES

  VnfLinkPortData:
    description: >
      This type represents an externally provided link port to be used to connect a VNFC connection point 
      to an exernally managed VL.
    type: object
    required:
    - vnfLinkPortId
    - resourceHandle
    properties:
      vnfLinkPortId:
        description: >
          Identifier of this link port as provided by the entity that has created the link port.
        $ref: "#/definitions/Identifier"
      resourceHandle:
        description: >
          Resource handle of the virtualised resource that realizes the link port.
        $ref: "#/definitions/ResourceHandle"

  ExtLinkPortData:
    description: >
      This type represents an externally provided link port to be used to
      connect an external connection point to an external VL.
      * NOTE:	The value of "trunkResourceId" is scoped by the value of "vimConnectionId" in the "resourceHandle" attribute.
    type: object
    required:
      - id
          Identifier of this link port as provided by the entity that has
          created the link port.
        $ref: "#/definitions/Identifier"
          Reference to the virtualised resource realizing this link port.
        $ref: "#/definitions/ResourceHandle"
      trunkResourceId:
        description: >
          Identifier of the trunk resource in the VIM.
          Shall be present if the present link port corresponds to the parent
          port that the trunk resource is associated with. See note.
        $ref: "#/definitions/IdentifierInVim"

  GrantedLcmOperationType:
    description: >
      The enumeration GrantedLcmOperationType defines the permitted values 
      to represent VNF lifecycle operation types in grant requests.
      Value | Description
      ------|------------
      INSTANTIATE | Represents the "Instantiate VNF" LCM operation.
      SCALE | Represents the "Scale VNF" LCM operation.
      SCALE_TO_LEVEL | Represents the "Scale VNF to Level" LCM operation.
      CHANGE_FLAVOUR | Represents the "Change VNF Flavour" LCM operation.
      TERMINATE | Represents the "Terminate VNF" LCM operation.
      HEAL | Represents the "Heal VNF" LCM operation.
      OPERATE | Represents the "Operate VNF" LCM operation.
      CHANGE_EXT_CONN | Represents the "Change external VNF connectivity" LCM operation.     
      CHANGE_VNFPKG | Represents the "Change current VNF package" LCM operation.
      CREATE_SNAPSHOT | Represents the "Create VNF snapshot" LCM operation.
      REVERT_TO_SNAPSHOT | Represents the "Revert to VNF snapshot" LCM operation.
    type: string
    enum:
      - INSTANTIATE
      - SCALE
      - SCALE_TO_LEVEL
      - CHANGE_FLAVOUR
      - TERMINATE
      - HEAL
      - OPERATE
      - CHANGE_EXT_CONN
      - CHANGE_VNFPKG
      - CREATE_SNAPSHOT
      - REVERT_TO_SNAPSHOT
  LcmOperationType:
    description: >
Francesca Moscatelli's avatar
Francesca Moscatelli committed
      The enumeration LcmOpType defines the permitted values to represent 
      VNF lifecycle operation types in VNF lifecycle management operation 
      occurrence resources and VNF lifecycle management operation occurrence 
Francesca Moscatelli's avatar
Francesca Moscatelli committed

      Value | Description
      ------|------------
      INSTANTIATE | Represents the "Instantiate VNF" LCM operation.   
      SCALE | Represents the "Scale VNF" LCM operation.
      SCALE_TO_LEVEL | Represents the "Scale VNF to Level" LCM operation.
      CHANGE_FLAVOUR | Represents the "Change VNF Flavour" LCM operation.
      TERMINATE | Represents the "Terminate VNF" LCM operation.
      HEAL | Represents the "Heal VNF" LCM operation.
      OPERATE | Represents the "Operate VNF" LCM operation.
      CHANGE_EXT_CONN | Represents the "Change external VNF connectivity" LCM operation.
      MODIFY_INFO | Represents the "Modify VNF Information" LCM operation.
      CREATE_SNAPSHOT | Represents the "Create VNF Snapshot" LCM operation.
      REVERT_TO_SNAPSHOT | Represents the “Revert-To VNF Snapshot" LCM operation.
      CHANGE_VNFPKG | Represents the "Change current VNF package" LCM operation.
    type: string
    enum:
      - INSTANTIATE
      - SCALE
      - SCALE_TO_LEVEL
      - CHANGE_FLAVOUR
      - TERMINATE
      - HEAL
      - OPERATE
      - CHANGE_EXT_CONN
      - MODIFY_INFO
      - CREATE_SNAPSHOT
      - REVERT_TO_SNAPSHOT
      - CHANGE_VNFPKG
      - SELECT_DEPL_MODS
  ProblemDetails:
    #SOL003 location: 4.3.5.3
    description: >
      The definition of the general "ProblemDetails" data structure from
      IETF RFC 7807 is reproduced inthis structure. Compared to the
      general framework defined in IETF RFC 7807, the "status" and
      "detail" attributes are mandated to be included by the present document,
      to ensure that the response contains additional textual information about
      an error. IETF RFC 7807 foresees extensibility of the
      "ProblemDetails" type. It is possible that particular APIs in the present
      document, or particular implementations, define extensions to define
      additional attributes that provide more information about the error.
      The description column only provides some explanation of the meaning to
      Facilitate understanding of the design. For a full description, see
    type: object
    required:
      - status
      - detail
    properties:
      type:
        description: >
          A URI reference according to IETF RFC 3986 that identifies the
          problem type. It is encouraged that the URI provides human-readable
          documentation for the problem (e.g. using HTML) when dereferenced.
          When this member is not present, its value is assumed to be
          "about:blank".
        type: string
        format: URI
      title:
        description: >
          A short, human-readable summary of the problem type. It should not
          change from occurrence to occurrence of the problem, except for
          purposes of localization. If type is given and other than
          "about:blank", this attribute shall also be provided.
          A short, human-readable summary of the problem
          type.  It SHOULD NOT change from occurrence to occurrence of the
          problem, except for purposes of localization (e.g., using
          proactive content negotiation; see [RFC7231], Section 3.4).
        type: string
      status:
        description: >
          The HTTP status code for this occurrence of the problem.
          The HTTP status code ([RFC7231], Section 6) generated by the origin
          server for this occurrence of the problem.
        type: integer
      detail:
        description: >
          A human-readable explanation specific to this occurrence of the
          problem.
        type: string
      instance:
        description: >
          A URI reference that identifies the specific occurrence of the
          problem. It may yield further information if dereferenced.
        type: string
        format: URI
      #TODO: How to express "any additional attributes"?

  SubscriptionAuthentication:
    description: >
      * NOTE: The clientId and clientPassword passed in a subscription shall not be the same as the clientId and
              clientPassword that are used to obtain authorization for API requests. Client credentials may differ between
              subscriptions. The value of clientPassword should be generated by a random process
    required:
    properties:
      authType:
        description: >
          Defines the types of Authentication / Authorization which the API
          consumer is willing to accept when receiving a notification.
          Permitted values:
          * BASIC: In every HTTP request to the notification endpoint, use
            HTTP Basic authentication with the client credentials. 
          * OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the
            notification endpoint, use an OAuth 2.0 Bearer token, obtained
            using the client credentials grant type.
          * TLS_CERT: Every HTTP request to the notification endpoint is sent
            over a mutually authenticated TLS session, i.e. not only the
            server is authenticated, but also the client is authenticated
            during the TLS tunnel setup.
        type: array
        items:
          type: string
          enum:
            - BASIC
            - OAUTH2_CLIENT_CREDENTIALS
            - TLS_CERT
      paramsBasic:
        description: >
          Parameters for authentication/authorization using BASIC.
          Shall be present if authType is "BASIC" and the contained
          information has not been provisioned out of band.
          Shall be absent otherwise.
        type: object
        properties:
          userName:
            description: >
              Username to be used in HTTP Basic authentication. Shall be
              present if it has not been provisioned out of band.
            type: string
          password:
            description: >
              Password to be used in HTTP Basic authentication. Shall be
              present if it has not been provisioned out of band.
            type: string
      paramsOauth2ClientCredentials:
        description: >
          Parameters for authentication/authorization using
          OAUTH2_CLIENT_CREDENTIALS.
          Shall be present if authType is "OAUTH2_CLIENT_CREDENTIALS" and the
          contained information has not been provisioned out of band.
          Shall be absent otherwise.
        type: object
        properties:
          clientId:
            description: >
              Client identifier to be used in the access token request of the
              OAuth 2.0 client credentials grant type. 
              Shall be present if it has not been provisioned out of band. See note.
            type: string
          clientPassword:
            description: >
              Client password to be used in the access token request of the
              OAuth 2.0 client credentials grant type. 
              Shall be present if it has not been provisioned out of band. See note.
            type: string
          tokenEndpoint:
            description: >
              The token endpoint from which the access token can be obtained.
              Shall be present if it has not been provisioned out of band.
            $ref: "#/definitions/Uri"
  LcmCoordResultType:
    description: >
      The enumeration LcmCoordResultType defines the permitted values
      to represent the result of executing an LCM coordination action.
      The coordination result also implies the action to be performed by
      the VNFM as the follow-up to this coordination.
      Value | Description
      ------|------------
      CONTINUE | The related LCM operation shall be continued, staying in the state "PROCESSING".
      ABORT | The related LCM operation shall be aborted by transitioning into the state "FAILED_TEMP".
      CANCELLED | The coordination action has been cancelled upon request of the API consumer, i.e. the VNFM.
      The related LCM operation shall be aborted by transitioning into the state "FAILED_TEMP".
    type: string
    enum:
      - CONTINUE
      - ABORT
      - CANCELLED

  LcmOperationForCoordType:
    description: >
      The enumeration LcmOperationForCoordType defines the permitted values to
      represent VNF lifecycle operation types in VNF LCM operation coordination actions.
      * INSTANTIATE: Represents the "Instantiate VNF" LCM operation.
      * SCALE: Represents the "Scale VNF" LCM operation.
      * SCALE_TO_LEVEL: Represents the "Scale VNF to Level" LCM operation.
      * CHANGE_FLAVOUR: Represents the "Change VNF Flavour" LCM operation.
      * TERMINATE: Represents the "Terminate VNF" LCM operation.
      * HEAL: Represents the "Heal VNF" LCM operation.
      * OPERATE: Represents the "Operate VNF" LCM operation.
      * CHANGE_EXT_CONN: Represents the "Change external VNF connectivity" LCM operation.
      * MODIFY_INFO: Represents the "Modify VNF Information" LCM operation.
      * CREATE_SNAPSHOT: Represents the "Create VNF Snapshot" LCM operation.
      * REVERT_TO_SNAPSHOT: Represents the "Revert To VNF Snapshot" LCM operation.
      * CHANGE_VNFPKG: Represents the "Change current VNF package" LCM operation.
    type: string
    enum:
      - INSTANTIATE
      - SCALE
      - SCALE_TO_LEVEL
      - CHANGE_FLAVOUR
      - TERMINATE
      - HEAL
      - OPERATE
      - CHANGE_EXT_CONN
      - MODIFY_INFO
      - CREATE_SNAPSHOT
      - REVERT_TO_SNAPSHOT
      - CHANGE_VNFPKG