Skip to content
SOL003-VNFLifecycleManagement-API.yaml 1.7 MiB
Newer Older
mengxuan.zhao's avatar
mengxuan.zhao committed
2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000
          schema:
            description: >
              The definition of the general "ProblemDetails" data structure from
              IETF RFC 7807 [19] is reproduced inthis structure. Compared to the
              general framework defined in IETF RFC 7807 [19], 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 [19] 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 IETF RFC
              7807 [19].
            type: object
            required:
              - status
              - detail
            properties:
              type:
                description: >
                  A URI reference according to IETF RFC 3986 [5] 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
        '503':
          description: >
            Service Unavailable

            If the API producer encounters an internal overload situation of
            itself or of a system it relies on, it should respond with this
            response code, following the provisions in IETF RFC 7231 [13] for
            the use of the "Retry-After" HTTP header and for the alternative to
            refuse the connection. The "ProblemDetails" structure may be
            omitted.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
          schema:
            description: >
              The definition of the general "ProblemDetails" data structure from
              IETF RFC 7807 [19] is reproduced inthis structure. Compared to the
              general framework defined in IETF RFC 7807 [19], 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 [19] 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 IETF RFC
              7807 [19].
            type: object
            required:
              - status
              - detail
            properties:
              type:
                description: >
                  A URI reference according to IETF RFC 3986 [5] 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
    get:
      description: |
        Query VNF

        The GET method queries information about multiple VNF instances.
      parameters:
        - name: Accept
          description: >
            Content-Types that are acceptable for the response. Reference: IETF
            RFC 7231
          in: header
          required: true
          type: string
        - name: Authorization
          description: |
            The authorization token for the request. Reference: IETF RFC 7235
          in: header
          required: false
          type: string
      responses:
        '200':
          description: >
            OK

            Information about zero or more VNF instances was queried
            successfully. The response body shall contain representations of
            zero or more VNF instances.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              type: string
              maximum: 1
              minimum: 0
          schema:
            type: array
            items:
              description: |
                This type represents a VNF instance.
              type: object
              required:
                - id
                - vnfdId
                - vnfProvider
                - vnfProductName
                - vnfSoftwareVersion
                - vnfdVersion
                - vnfPkgId
                - instantiationState
              properties:
                id:
                  description: |
                    An identifier with the intention of being globally unique.
                  type: string
                vnfInstanceName:
                  description: >
                    Name of the VNF instance. This attribute can be modified
                    with the PATCH method.
                  type: string
                vnfInstanceDescription:
                  description: >
                    Human-readable description of the VNF instance. This
                    attribute can be modified with the PATCH method.
                  type: string
                vnfdId:
                  description: |
                    An identifier with the intention of being globally unique.
                  type: string
                vnfProvider:
                  description: >
                    Provider of the VNF and the VNFD. The value is copied from
                    the VNFD.
                  type: string
                vnfProductName:
                  description: >
                    Name to identify the VNF Product. The value is copied from
                    the VNFD.
                  type: string
                vnfSoftwareVersion:
                  description: |
                    A Version.
                  type: string
                vnfdVersion:
                  description: |
                    A Version.
                  type: string
                vnfPkgId:
                  description: |
                    An identifier with the intention of being globally unique.
                  type: string
                vnfConfigurableProperties:
                  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
                vimConnectionInfo:
                  description: >
                    Information about VIM connections to be used for managing
                    the resources for the VNF instance. This attribute shall
                    only be supported and present if VNF-related resource
                    management in direct mode is applicable. This attribute can
                    be modified with the PATCH method.
                  type: array
                  items:
                    description: >
                      This type represents parameters to connect to a VIM for
                      managing the resources of a VNF instance. This structure
                      is used to convey VIM-related parameters over the Or-Vnfm
                      interface. Additional parameters for a VIM may be
                      configured into the VNFM by means outside the scope of the
                      present document, and bound to the identifier of that VIM.
                    type: object
                    required:
                      - id
                      - vimType
                    properties:
                      id:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                      vimId:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                      vimType:
                        description: >
                          Discriminator for the different types of the VIM
                          information. The value of this attribute determines
                          the structure of the "interfaceInfo" and "accessInfo"
                          attributes, based on the type of the VIM. The set of
                          permitted values is expected to change over time as
                          new types or versions of VIMs become available. The
                          ETSI NFV registry of VIM-related information provides
                          access to information about VimConnectionInfo
                          definitions for various VIM types. The structure of
                          the registry is defined in Annex C of SOL003.
                        type: string
                      interfaceInfo:
                        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
                      accessInfo:
                        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
                      extra:
                        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
                instantiationState:
                  description: |
                    The instantiation state of the VNF.
                  type: string
                  enum:
                    - NOT_INSTANTIATED
                    - INSTANTIATED
                instantiatedVnfInfo:
                  description: >
                    Information specific to an instantiated VNF instance. This
                    attribute shall be present if the instantiateState attribute
                    value is INSTANTIATED.
                  type: object
                  required:
                    - flavourId
                    - vnfState
                  properties:
                    flavourId:
                      description: |
                        An identifier that is unique within a VNF descriptor.
                      type: string
                    vnfState:
                      type: string
                      enum:
                        - STARTED
                        - STOPPED
                    scaleStatus:
                      description: >
                        Scale status of the VNF, one entry per aspect.
                        Represents for every scaling aspect how "big" the VNF
                        has been scaled w.r.t. that aspect.
                      type: array
                      items:
                        required:
                          - aspectId
                          - scaleLevel
                        type: object
                        properties:
                          aspectId:
                            description: >
                              An identifier that is unique within a VNF
                              descriptor.
                            type: string
                          scaleLevel:
                            description: >
                              Indicates the scale level. The minimum value shall
                              be 0 and the maximum value shall be <=
                              maxScaleLevel as described in the VNFD.
                            type: integer
                    extCpInfo:
                      description: >
                        Information about the external CPs exposed by the VNF
                        instance.
                      type: array
                      minItems: 1
                      items:
                        type: object
                        required:
                          - id
                          - cpdId
                        properties:
                          id:
                            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
                          cpProtocolInfo:
                            description: |
                              Network protocol information for this CP.
                            type: array
                            items:
                              description: >
                                This type describes the protocol layer(s) that a
                                CP uses together with protocol-related
                                information, like addresses. 
                              required:
                                - layerProtocol
                              properties:
                                layerProtocol:
                                  description: >
                                    The identifier of layer(s) and protocol(s)
                                    associated to the network address
                                    information.  Permitted values:
                                    IP_OVER_ETHERNET This attribute allows to
                                    signal the addition of further types of
                                    layer and protocol in future versions of the
                                    present document in a backwards-compatible
                                    way. In the current version of the present
                                    document, only IP over Ethernet is
                                    supported.
                                  type: string
                                  enum:
                                    - IP_OVER_ETHERNET
                                ipOverEthernet:
                                  description: >
                                    This type represents information about a
                                    network address that has been assigned. 
                                  type: object
                                  required:
                                    - macAddress
                                  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
                                    ipAddresses:
                                      description: >
                                        Addresses assigned to the CP instance.
                                        Each entry represents IP addresses
                                        assigned by fixed or dynamic IP address
                                        assignment per subnet.
                                      type: array
                                      items:
                                        type: object
                                        required:
                                          - type
                                        properties:
                                          type:
                                            description: >
                                              The type of the IP addresses. Permitted
                                              values: IPV4, IPV6.
                                            type: string
                                            enum:
                                              - IPV4
                                              - IPV6
                                          addresses:
                                            description: >
                                              Fixed addresses assigned (from the
                                              subnet defined by "subnetId" if
                                              provided).
                                            type: array
                                            items:
                                              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
                                          isDynamic:
                                            description: >
                                              Indicates whether this set of addresses
                                              was assigned dynamically (true) or based
                                              on address information provided as input
                                              from the API consumer (false). Shall be
                                              present if "addresses" is present and
                                              shall be absent otherwise.
                                            type: boolean
                                          addressRange:
                                            description: >
                                              An IP address range used, e.g., in case
                                              of egress connections. Exactly one of
                                              "addresses" or "addressRange" shall be
                                              present.
                                            type: object
                                            required:
                                              - minAddress
                                              - maxAddress
                                            properties:
                                              minAddress:
                                                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
                                              maxAddress:
                                                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
                                          subnetId:
                                            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
                          extLinkPortId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                    extVirtualLinkInfo:
                      description: >
                        Information about the external VLs the VNF instance is
                        connected to.
                      type: array
                      items:
                        type: object
                        required:
                          - id
                          - resourceHandle
                        properties:
                          id:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          resourceHandle:
                            required:
                              - vimConnectionId
                              - resourceId
                            type: object
                            description: >
                              This type represents the information that allows
                              addressing a virtualised resource that is used by
                              a VNF instance. Information about the resource is
                              available from the VIM.
                            properties:
                              vimConnectionId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              resourceProviderId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              resourceId:
                                description: >
                                  An identifier maintained by the VIM or other
                                  resource provider. It is expected to be unique
                                  within the VIM instance.
                                type: string
                              vimLevelResourceType:
                                description: >
                                  Type of the resource in the scope of the VIM
                                  or the resource provider.
                                type: string
                          extLinkPorts:
                            description: |
                              Link ports of this VL.
                            type: array
                            items:
                              description: >
                                This type represents information about a link
                                port of an external VL, i.e. a port providing
                                connectivity for the VNF to an NS VL. 
                              type: object
                              required:
                                - id
                                - resourceHandle
                              properties:
                                id:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                resourceHandle:
                                  required:
                                    - vimConnectionId
                                    - resourceId
                                  type: object
                                  description: >
                                    This type represents the information that
                                    allows addressing a virtualised resource
                                    that is used by a VNF instance. Information
                                    about the resource is available from the
                                    VIM.
                                  properties:
                                    vimConnectionId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    resourceProviderId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    resourceId:
                                      description: >
                                        An identifier maintained by the VIM or
                                        other resource provider. It is expected
                                        to be unique within the VIM instance.
                                      type: string
                                    vimLevelResourceType:
                                      description: >
                                        Type of the resource in the scope of the
                                        VIM or the resource provider.
                                      type: string
                                cpInstanceId:
                                  description: >
                                    An identifier that is unique for the
                                    respective type within a VNF instance, but
                                    may not be globally unique.
                                  type: string
                    extManagedVirtualLinkInfo:
                      description: |
                        External virtual links the VNF instance is connected to.
                      type: array
                      items:
                        type: object
                        required:
                          - id
                          - vnfVirtualLinkDescId
                        properties:
                          id:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          vnfVirtualLinkDescId:
                            description: >
                              An identifier that is unique for the respective
                              type within a VNF instance, but may not be
                              globally unique.
                            type: string
                          networkResource:
                            required:
                              - vimConnectionId
                              - resourceId
                            type: object
                            description: >
                              This type represents the information that allows
                              addressing a virtualised resource that is used by
                              a VNF instance. Information about the resource is
                              available from the VIM.
                            properties:
                              vimConnectionId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              resourceProviderId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              resourceId:
                                description: >
                                  An identifier maintained by the VIM or other
                                  resource provider. It is expected to be unique
                                  within the VIM instance.
                                type: string
                              vimLevelResourceType:
                                description: >
                                  Type of the resource in the scope of the VIM
                                  or the resource provider.
                                type: string
                          vnfLinkPorts:
                            description: |
                              Link ports of this VL.
                            type: array
                            items:
                              type: object
                              required:
                                - id
                                - resourceHandle
                              properties:
                                id:
                                  description: >
                                    An identifier that is unique for the
                                    respective type within a VNF instance, but
                                    may not be globally unique.
                                  type: string
                                resourceHandle:
                                  required:
                                    - vimConnectionId
                                    - resourceId
                                  type: object
                                  description: >
                                    This type represents the information that
                                    allows addressing a virtualised resource
                                    that is used by a VNF instance. Information
                                    about the resource is available from the
                                    VIM.
                                  properties:
                                    vimConnectionId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    resourceProviderId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    resourceId:
                                      description: >
                                        An identifier maintained by the VIM or
                                        other resource provider. It is expected
                                        to be unique within the VIM instance.
                                      type: string
                                    vimLevelResourceType:
                                      description: >
                                        Type of the resource in the scope of the
                                        VIM or the resource provider.
                                      type: string
                                cpInstanceId:
                                  description: >
                                    An identifier that is unique for the
                                    respective type within a VNF instance, but
                                    may not be globally unique.
                                  type: string
                    monitoringParameters:
                      description: |
                        Active monitoring parameters.
                      type: array
                      items:
                        type: object
                        required:
                          - id
                          - value
                          - timeStamp
                        properties:
                          id:
                            description: >
                              An identifier that is unique within a VNF
                              descriptor.
                            type: string
                          name:
                            description: >
                              Human readable name of the monitoring parameter,
                              as defined in the VNFD.
                            type: string
                          value:
                            description: >
                              Value of the monitoring parameter known to the
                              VNFM (e.g. obtained for autoscaling purposes). The
                              type of the "value" attribute (i.e. scalar,
                              structure (Object in JSON), or array (of scalars,
                              arrays or structures/Objects)) is assumed to be
                              defined in an external measurement specification.
                            type: object
                          timeStamp:
                            description: >
                              Represents the point in time when the measurement
                              has been performed, as known to the VNFM. Should
                              be formatted according to ETF RFC 3339.
                            type: string
                    localizationLanguage:
                      description: >
                        Information about localization language of the VNF
                        (includes e.g. strings in the VNFD). The localization
                        languages supported by a VNF can be declared in the
                        VNFD, and localization language selection can take place
                        at instantiation time. The value shall comply with the
                        format defined in IETF RFC 5646.
                      type: string
                    vnfcResourceInfo:
                      description: >
                        Information about the virtualised compute and storage
                        resources used by the VNFCs of the VNF instance.
                      type: array
                      items:
                        description: >
                          This type represents the information on virtualised
                          compute and storage resources used by a VNFC in a VNF
                          instance.
                        type: object
                        required:
                          - id
                          - vduId
                          - computeResource
                        properties:
                          id:
                            description: >
                              An identifier that is unique for the respective
                              type within a VNF instance, but may not be
                              globally unique.
                            type: string
                          vduId:
                            description: >
                              An identifier that is unique within a VNF
                              descriptor.
                            type: string
                          computeResource:
                            required:
                              - vimConnectionId
                              - resourceId
                            type: object
                            description: >
                              This type represents the information that allows
                              addressing a virtualised resource that is used by
                              a VNF instance. Information about the resource is
                              available from the VIM.
                            properties:
                              vimConnectionId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              resourceProviderId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              resourceId:
                                description: >
                                  An identifier maintained by the VIM or other
                                  resource provider. It is expected to be unique
                                  within the VIM instance.
                                type: string
                              vimLevelResourceType:
                                description: >
                                  Type of the resource in the scope of the VIM
                                  or the resource provider.
                                type: string
                          storageResourceIds:
                            description: >
                              References to the VirtualStorage resources. The
                              value refers to a VirtualStorageResourceInfo item
                              in the VnfInstance.
                            type: array
                            items:
                              description: >
                                An identifier that is unique for the respective
                                type within a VNF instance, but may not be
                                globally unique.
                              type: string
                          reservationId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          vnfcCpInfo:
                            description: >
                              CPs of the VNFC instance. Shall be present when
                              that particular CP of the VNFC instance is
                              associated to an external CP of the VNF instance.
                              May be present otherwise.
                            type: array
                            items:
                              type: object
                              required:
                                - id
                                - cpdId
                              properties:
                                id:
                                  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
                                vnfExtCpId:
                                  description: >
                                    An identifier that is unique for the
                                    respective type within a VNF instance, but
                                    may not be globally unique.
                                  type: string
                                cpProtocolInfo:
                                  description: |
                                    Network protocol information for this CP.
                                  type: array
                                  items:
                                    description: >
                                      This type describes the protocol layer(s)
                                      that a CP uses together with
                                      protocol-related information, like
                                      addresses. 
                                    required:
                                      - layerProtocol
                                    properties:
                                      layerProtocol:
                                        description: >
                                          The identifier of layer(s) and
                                          protocol(s) associated to the network
                                          address information.  Permitted values:
                                          IP_OVER_ETHERNET This attribute allows
                                          to signal the addition of further types
                                          of layer and protocol in future versions
                                          of the present document in a
                                          backwards-compatible way. In the current
                                          version of the present document, only IP
                                          over Ethernet is supported.
                                        type: string
                                        enum:
                                          - IP_OVER_ETHERNET
                                      ipOverEthernet:
                                        description: >
                                          This type represents information about a
                                          network address that has been assigned. 
                                        type: object
                                        required:
                                          - macAddress
                                        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
                                          ipAddresses:
                                            description: >
                                              Addresses assigned to the CP instance.
                                              Each entry represents IP addresses
                                              assigned by fixed or dynamic IP address
                                              assignment per subnet.
                                            type: array
                                            items:
                                              type: object
                                              required:
                                                - type
                                              properties:
                                                type:
                                                  description: >
                                                    The type of the IP addresses. Permitted
                                                    values: IPV4, IPV6.
                                                  type: string
                                                  enum:
                                                    - IPV4
                                                    - IPV6
                                                addresses:
                                                  description: >
                                                    Fixed addresses assigned (from the
                                                    subnet defined by "subnetId" if
                                                    provided).
                                                  type: array
                                                  items:
                                                    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
                                                isDynamic:
                                                  description: >
                                                    Indicates whether this set of addresses
                                                    was assigned dynamically (true) or based
                                                    on address information provided as input
                                                    from the API consumer (false). Shall be
                                                    present if "addresses" is present and
                                                    shall be absent otherwise.
                                                  type: boolean
                                                addressRange:
                                                  description: >
                                                    An IP address range used, e.g., in case
                                                    of egress connections. Exactly one of
                                                    "addresses" or "addressRange" shall be
                                                    present.
                                                  type: object
                                                  required:
                                                    - minAddress
                                                    - maxAddress
                                                  properties:
                                                    minAddress:
                                                      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
                                                    maxAddress:
                                                      description: >
                                                        An IPV4 or IPV6 address. Representation:
                                                        In case of an IPV4 address, string that