SOL002-VNFConfiguration-API.yaml 107 KB
Newer Older
          extCpConfig:
            description: |
              This type represents configuration parameters of a CP instance.
            type: object
            required:
              - cpId
              - cpdId
              - addresses
            properties:
              cpId:
                description: >
                  An identifier that is unique for the respective type within a
                  VNF instance, but may not be globally unique.
                type: string
              cpdId:
                description: |
                  An identifier that is unique within a VNF descriptor.
                type: string
              addresses:
                description: |
                  Network address and port assigned to the CP.
                type: array
                items:
                  description: >
                    This type represents configuration parameters of a CP
                    instance address.
                       *  NOTE 1: Either "address" or "useDynamicAddress" shall be present.
                       *  NOTE 2: At least one of "macAddress" and "ipAddress" shall be present.
                  type: object
                  properties:
                    address:
                      description: >
                        Network address that has been configured on the CP. See
                        NOTE 1.
                      type: object
                      properties:
                        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
                    useDynamicAddress:
                      description: >
                        Set to true if an address shall be assigned dynamically.
                        Otherwise set to false. The default value shall be
                        false. See NOTE 1.
                      type: boolean
                    port:
                      description: >
                        The port assigned to the CP instance (e.g. IP port
                        number, Ethernet port number, etc.).
                      type: integer
          dhcpServer:
            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
          vnfSpecificData:
            description: >
              This 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 7159. 
            type: object
      vnfcConfigurationData:
        description: >
          Modifications to configuration data for certain VNFC instances. See
          NOTE 1 and NOTE 2. If present, the modifications of the
          "vnfcConfigurationData" attribute shall follow these  provisions:
            Modifying an attribute that is an array of objects of type "VnfcConfigurationData".
              Assumptions:
                  1) "oldList" is the "VnfcConfigurationData" array to be modified and "newList"
                     is the "VnfcConfigurationData" array that contains the changes.
                  2) "oldEntry" is an entry in "oldList" and "newEntry" is an entry in "newList".
                  3) A "newEntry" has a "corresponding entry" if there exists an "oldEntry" that 
                     has the same content of the "vnfcInstanceId" attribute as the "newEntry"; 
                     a "newEntry" has no corresponding entry if no such "oldEntry" exists.
                  4) In any array of "VnfcConfigurationData" structures, the content of "vnfcInstanceId"
                     is unique (i.e. there shall be no two entries with the same content of "vnfcInstanceId").
              Provisions:
                  1) For each "newEntry" in "newList" that has no corresponding entry in "oldList", 
                     the "oldList" array shall be modified by adding that "newEntry".

                  2) For each "newEntry" in "newList" that has a corresponding "oldEntry" in "oldList",
                     the value of "oldEntry" shall be updated with the value of "newEntry" according to
                    the rules of JSON Merge PATCH (see IETF RFC 7396 ).
        type: array
        items:
          description: |
            This type represents configuration parameters of a VNFC instance.
          type: object
          required:
            - vnfcInstanceId
          properties:
            vnfcInstanceId:
              description: >
                An identifier that is unique for the respective type within a
                VNF instance, but may not be globally unique.
              type: string
            intCpConfig:
              description: >
                Configuration parameters for the internal CPs of the VNFC
                instance.
              type: array
              items:
                description: >
                  This type represents configuration parameters of a CP
                  instance.
                type: object
                required:
                  - cpId
                  - cpdId
                  - addresses
                properties:
                  cpId:
                    description: >
                      An identifier that is unique for the respective type
                      within a VNF instance, but may not be globally unique.
                    type: string
                  cpdId:
                    description: |
                      An identifier that is unique within a VNF descriptor.
                    type: string
                  addresses:
                    description: |
                      Network address and port assigned to the CP.
                    type: array
                    items:
                      description: >
                        This type represents configuration parameters of a CP
                        instance address.
                           *  NOTE 1: Either "address" or "useDynamicAddress" shall be present.
                           *  NOTE 2: At least one of "macAddress" and "ipAddress" shall be present.
                      type: object
                      properties:
                        address:
                          description: >
                            Network address that has been configured on the CP.
                            See NOTE 1.
                          type: object
                          properties:
                            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
                        useDynamicAddress:
                          description: >
                            Set to true if an address shall be assigned
                            dynamically. Otherwise set to false. The default
                            value shall be false. See NOTE 1.
                          type: boolean
                        port:
                          description: >
                            The port assigned to the CP instance (e.g. IP port
                            number, Ethernet port number, etc.).
                          type: integer
            dhcpServer:
              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
            vnfcSpecificData:
              description: >
                This 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 7159. 
              type: object