etsi-nfv-vnf.yang 94.2 KB
Newer Older
2001
               operation.";
2002
            reference
2003
2004
              "GS NFV IFA011: Section 7.1.5.5
               ScaleVnfToLevelOpConfig information element";
2005
2006
          }

2007
2008
2009
          leaf arbitrary-target-levels-supported {
            type boolean;
            default "false";
2010
            description
2011
2012
              "Signals whether scaling according to the parameter
               'scaleInfo' is supported by this VNF.";
2013
            reference
2014
2015
              "GS NFV IFA011: Section 7.1.5.5
               ScaleVnfToLevelOpConfig information element";
2016
          }
2017
        }
2018

2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
        container heal-vnf-op-config {
          description
            "This information element defines attributes that
             affect the invocation of the HealVnf operation.";
          reference
            "GS NFV IFA011: Section 7.1.5.2
             VnfLcmOperationsConfiguration information element";

          list parameter {
            key "key";

            leaf key {
              type string;
            }

            leaf value {
              type string;
            }
2037
            description
2038
2039
              "Array of KVP requirements for VNF-specific parameters
               to be passed when invoking the HealVnf operation.";
2040
            reference
2041
2042
              "GS NFV IFA011: Section 7.1.5.6 HealVnfOpConfig
               information element";
2043
          }
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2044

2045
          leaf-list cause {
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2046
2047
            type string;
            description
2048
              "Supported 'cause' parameter values.";
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2049
            reference
2050
              "GS NFV IFA011: Section 7.1.5.6 HealVnfOpConfig
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2051
2052
               information element";
          }
2053
        }
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2054

2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
        container terminate-vnf-op-config {
          description
            "This information element defines attributes that
             affect the invocation of the TerminateVnf operation.";
          reference
            "GS NFV IFA011: Section 7.1.5.2
             VnfLcmOperationsConfiguration information element";

          leaf min-graceful-termination {
            type yang:timeticks;
            default "1";
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2066
            description
2067
2068
              "Minimum timeout value for graceful termination of
               a VNF instance.";
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2069
            reference
2070
2071
              "GS NFV IFA011: Section 7.1.5.7
               TerminateVnfOpConfig information element";
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2072
2073
          }

2074
2075
          leaf max-recommended-graceful-termination {
            type yang:timeticks;
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2076
            description
2077
2078
2079
2080
2081
2082
2083
              "Maximum recommended timeout value that can be needed
               to gracefully terminate a VNF instance of a
               particular type under certain conditions, such as
               maximum load condition. This is provided by VNF
               provider as information for the operator
               facilitating the selection of optimal timeout value.
               This value is not used as constraint.";
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2084
            reference
2085
2086
              "GS NFV IFA011: Section 7.1.5.7
               TerminateVnfOpConfig information element";
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2087
2088
          }

2089
2090
2091
2092
2093
2094
2095
          list parameter {
            key "key";
            leaf key {
              type string;
            }
            leaf value {
              type string;
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2096
2097
            }
            description
2098
2099
2100
              "Array of KVP requirements for VNF-specific parameters
               to be passed when invoking the TerminateVnf
               operation.";
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2101
            reference
2102
2103
              "GS NFV IFA011: Section 7.1.5.7
               TerminateVnfOpConfig information element";
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2104
          }
2105
        }
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2106

2107
        container operate-vnf-op-config {
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2108
          description
2109
2110
            "This information element defines attributes that
             affect the invocation of the OperateVnf operation.";
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2111
          reference
2112
2113
            "GS NFV IFA011: Section 7.1.5.2
             VnfLcmOperationsConfiguration information element";
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2114

2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
          leaf min-graceful-stop-timeout {
            type yang:timeticks;
            default "1";
            description
              "Minimum timeout value for graceful stop of a VNF
               instance.";
            reference
              "GS NFV IFA011: Section 7.1.5.8
               OperateVnfOpConfig information element";
          }
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2125

2126
2127
          leaf max-recommended-graceful-stop-timeout {
            type yang:timeticks;
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2128
            description
2129
2130
2131
2132
2133
2134
2135
              "Maximum recommended timeout value that can be
               needed to gracefully stop a VNF instance of a
               particular type under certain conditions, such as
               maximum load condition. This is provided by VNF
               provider as information for the operator facilitating
               the selection of optimal timeout value. This value
               is not used as constraint.";
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2136
            reference
2137
2138
              "GS NFV IFA011: Section 7.1.5.8
               OperateVnfOpConfig information element";
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2139
2140
          }

2141
2142
2143
2144
2145
2146
2147
          list parameter {
            key "key";
            leaf key {
              type string;
            }
            leaf value {
              type string;
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2148
2149
            }
            description
2150
2151
2152
              "Array of KVP requirements for VNF-specific parameters
               to be passed when invoking the OperateVnf
               operation.";
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2153
            reference
2154
2155
              "GS NFV IFA011: Section 7.1.5.8
               OperateVnfOpConfig information element";
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2156
          }
2157
        }
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2158

2159
2160
        container change-vnf-flavour-op-config {
          list parameter {
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2161
2162
2163
2164
            key "key";
            leaf key {
              type string;
            }
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
            leaf value {
              type string;
            }
            description
              "Array of KVP requirements for VNF-specific parameters
               to be passed when invoking the OperateVnf
               operation.";
            reference
              "GS NFV IFA011: Section 7.1.5.9
               ChangeVnfFlavour information element";
          }
          description
            "Configuration parameters for the ChangeVnfFlavour
             operation.";
          reference
            "GS NFV IFA011: Section 7.1.5.2
             VnfLcmOperationsConfiguration information element";
        }
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2183

2184
2185
2186
2187
2188
2189
        container change-ext-vnf-connectivity-op-config {
          list parameter {
            key "key";
            leaf key {
              type string;
            }
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2190
2191
2192
            leaf value {
              type string;
            }
2193
2194
2195
2196
2197
2198
2199
2200
            description
              "Array of KVP requirements for VNF-specific parameters
               to be passed when invoking the
               ChangeExtVnfConnectivity operation.";
            reference
              "GS NFV IFA011: Section 7.1.5.10
               ChangeExtVnfConnectivityOpConfig information
               element";
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
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
          description
            "Configuration parameters for the
             ChangeExtVnfConnectivity operation.";
          reference
            "GS NFV IFA011: Section 7.1.5.2
             VnfLcmOperationsConfiguration information element";
        }
      }

      list affinity-or-anti-affinity-group {
        key "id";
        description
          "The AffinityOrAntiAffinityGroup describes the affinity
           or anti-affinity relationship applicable between the
           virtualization containers to be created based on
           different VDUs, or between internal VLs to be created
           based on different VnfVirtualLinkDesc(s).

           Per VNF, the affinity/anti-affinity rules defined using
           this information element, using the
           LocalAffinityOrAntiAffinityRule information element, and
           using the placement constraints in the
           GrantLifecycleOperation as defined in ETSI GS NFV-IFA
           007 [i.3] should be conflict-free. In case of conflicts,
           the placement constraints in the
           GrantLifecycleOperation shall take precedence.";

        reference
          "GS NFV IFA011: Section 7.1.8.2 VnfDf information
           element";
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2232

2233
2234
        leaf id {
          type string;
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2235
          description
2236
2237
            "Identifies an affinity or anti-affinity group to which
             the affinity or anti-affinity rule applies.";
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2238
          reference
2239
2240
            "GS NFV IFA011: Section 7.1.8.12
             AffinityOrAntiAffinityGroup information element";
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2241
2242
        }

2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
        leaf type {
          mandatory true;
          type affinity-type;
          description
            "Specifies whether the rule is an affinity rule or an
             anti-affinity rule.";
          reference
            "GS NFV IFA011: Section 7.1.8.12
             AffinityOrAntiAffinityGroup information element";
        }
2253

2254
2255
2256
        leaf scope {
          mandatory true;
          type affinity-scope;
2257
          description
2258
2259
            "Specifies the scope of the rule, possible values are
             'NFVI-PoP', 'Zone', 'ZoneGroup', 'NFVI-node'.";
2260
          reference
2261
2262
2263
2264
            "GS NFV IFA011: Section 7.1.8.12
             AffinityOrAntiAffinityGroup information element";
        }
      }
2265

2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
      list indicator {
        key "id";

        leaf id {
          type string;
          description
            "Unique identifier.";
          reference
            "GS NFV IFA011: Section 7.1.11.2 VnfIndicator
             information element";
2276
2277
        }

2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
        leaf name {
          type string;
          description
            "The human readable name of the VnfIndicator.";
          reference
            "GS NFV IFA011: Section 7.1.11.2 VnfIndicator
             information element";
        }

        leaf indicator-value {
          type string;
          description
            "Defines the allowed values or value ranges of this
             indicator.";
          reference
            "GS NFV IFA011: Section 7.1.11.2 VnfIndicator
             information element";
        }
2296

2297
2298
2299
2300
2301
2302
        leaf source {
          type enumeration {
            enum vnf;
            enum em;
            enum both;
          }
2303
          description
2304
2305
2306
2307
2308
2309
2310
2311
            "Describe the source of the indicator. The possible
             values are:
             • VNF.
             • EM.
             • Both.

             This tells the consumer where to send the subscription
             request.";
2312
          reference
2313
2314
2315
2316
2317
2318
2319
2320
2321
            "GS NFV IFA011: Section 7.1.11.2 VnfIndicator
             information element";
        }

        description
          "Declares the VNF indicators that are supported by this
           VNF (specific to this DF).";
        reference
          "GS NFV IFA011: Section 7.1.8.2 VnfDf information
2322
             element";
2323
      }
2324

2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
      list supported-vnf-interfaces {
        key "name";

        leaf name {
          type enumeration {
            enum vnf-configuration;
            enum vnf-indicator;
          }
          description
            "Identifies an interface produced by the VNF. Valid
             values:
             - VNF_CONFIGURATION
             - VNF_INDICATOR";
          reference
            "GS NFV IFA011: Section 7.1.8.16 VnfInterfaceDetails
             information element";
        }

        leaf-list cpd-id {
          type leafref {
            path "../../../ext-cpd/id";
2346
          }
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
          description
            "References one or more CPDs from which to instantiate
             external CPs through which interface endpoints on the
             VNF side can be reached by the VNFM.";
          reference
            "GS NFV IFA011: Section 7.1.8.16 VnfInterfaceDetails
             information element";
        }

        list interface-details {
          key "key";

          leaf key {
2360
2361
            type string;
          }
2362
2363

          leaf value {
2364
            type string;
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
          }
        }

        description
          "Indicates which interfaces the VNF produces and provides
           additional details on how to access the interface
           endpoints.";
        reference
          "GS NFV IFA011: Section 7.1.8.2 VnfDf information
             element";
      }

      list monitoring-parameter {
        key "id";

        description
          "Defines the virtualised resources monitoring parameters
           on VNF level.";
        reference
          "GS NFV IFA011: Section 7.1.8.2 VnfDf information
           element";

        leaf id {
          type string;
          description
            "Unique identifier of the monitoring parameter.";
          reference
            "GS NFV IFA011: Section 7.1.11.3 MonitoringParameter
             information element";
        }
        uses monitoring-parameter;
      }

      list scaling-aspect {
        key "id";

        description
          "The scaling aspects supported by this DF of the VNF.
           scalingAspect shall be present if the VNF supports
           scaling.";
        reference
          "GS NFV IFA011: Section 7.1.8.2 VnfDf information
           element";

        leaf id {
          type string;
          description
            "Unique identifier of this aspect in the VNFD.";
          reference
            "GS NFV IFA011: Section 7.1.10.2 ScalingAspect
2415
               information element";
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
        }

        leaf name {
          type string;
          description
            "Human readable name of the aspect.";
          reference
            "GS NFV IFA011: Section 7.1.10.2 ScalingAspect
             information element";
        }

        leaf description {
          type string;
          description
            "Human readable description of the aspect.";
          reference
            "GS NFV IFA011: Section 7.1.10.2 ScalingAspect
             information element";
        }

        leaf max-scale-level {
          type uint32 {
            range "1..max";
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
          description
            "The maximum scaleLevel for total number of scaling
             steps that can be applied w.r.t. this aspect. The
             value of this attribute corresponds to the number of
             scaling steps can be applied to this aspect when
             scaling it from the minimum scale level (i.e. 0) to the
             maximum scale level defined by this attribute.";
          reference
            "GS NFV IFA011: Section 7.1.10.2 ScalingAspect
             information element";
        }

        container aspect-delta-details {
          list deltas {
            key "id";
            min-elements 1;

            leaf id {
              type string;
              description
                "Identifier of this scaling delta.";
              reference
                "GS NFV IFA011: Section 7.1.10.4 ScalingDelta
                 information element";
2464
            }
2465

2466
            list vdu-delta {
2467
2468
2469
              key "id";

              leaf id {
2470
2471
2472
                type leafref {
                  path "../../../../../../vdu/id";
                }
2473
                description
2474
                  "Uniquely identifies a VDU.";
2475
                reference
2476
                  "GS NFV IFA011: Section 7.1.8.9 VduLevel
2477
2478
2479
                   information element";
              }

2480
2481
2482
              leaf number-of-instances {
                type uint32 {
                  range "0..max";
2483
2484
                }
                description
2485
2486
2487
                  "Number of instances of VNFC based on this VDU to
                   deploy for an instantiation level or for a
                   scaling delta. Shall be zero or greater.";
2488
                reference
2489
                  "GS NFV IFA011: Section 7.1.8.9 VduLevel
2490
2491
                   information element";
              }
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
              description
                "The number of VNFC instances based on particular
                 VDUs to be created or removed.";
              reference
                "GS NFV IFA011: Section 7.1.10.4 ScalingDelta
                 information element";
            }

            list virtual-link-bit-rate-delta {
              key "id";
2502

2503
2504
2505
2506
2507
2508
2509
2510
              leaf id {
                type string;
                description
                  "Uniquely identifies a VnfVirtualLinkDesc.";
                reference
                  "GS NFV IFA011: Section 7.1.10.5
                   VirtualLinkBitRateLevel information element";
              }
2511

2512
2513
2514
2515
2516
              container bit-rate-requirements {
                leaf root {
                  type uint32;
                  units bits/sec;
                  mandatory true;
2517
                  description
2518
2519
2520
                    "Throughput requirement of the link (e.g.
                     bitrate of E-Line, root bitrate of E-Tree,
                     aggregate capacity of E-LAN).";
2521
                  reference
2522
2523
                    "GS NFV IFA011: Section 7.1.8.6
                     LinkBitrateRequirements information element";
2524
2525
                }

2526
2527
2528
                leaf leaf {
                  type uint32;
                  units bits/sec;
2529
                  description
2530
2531
2532
                    "Throughput requirement of leaf connections to
                     the link when applicable to the connectivity
                     type (e.g. for E-Tree and E-LAN branches).";
2533
                  reference
2534
2535
                    "GS NFV IFA011: Section 7.1.8.6
                     LinkBitrateRequirements information element";
2536
2537
                }
                description
2538
2539
                  "Bitrate requirements for an instantiation level
                   or bitrate delta for a scaling step.";
2540
                reference
2541
2542
                  "GS NFV IFA011: Section 7.1.10.5
                   VirtualLinkBitRateLevel information element";
2543
2544
              }
              description
2545
2546
                "The bitrate to be added or removed to virtual links
                 created from particular virtual link descriptors.";
2547
              reference
2548
                "GS NFV IFA011: Section 7.1.10.4 ScalingDelta
2549
2550
                 information element";
            }
2551
2552
2553
2554
2555
2556
2557
2558
            description
              "Declares different scaling deltas, each of which is
               applied for one or more scaling steps of this
               aspect.";
            reference
              "GS NFV IFA011: Section 7.1.10.3 AspectDeltaDetails
               information element";
          }
2559

2560
2561
2562
          leaf step-deltas {
            type leafref {
              path "../deltas/id";
2563
2564
            }
            description
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
              "Identifiers of the individual scaling deltas to be
               applied for the subsequent scaling steps of this
               aspect. The first entry in the array shall correspond
               to the first scaling step (between scale levels 0 to
               1) and the last entry in the array shall correspond
               to the last scaling step (between maxScaleLevel-1
               and maxScaleLevel).

               Each referenced scaling delta shall be declared in
               the 'deltas' attribute.";
2575
            reference
2576
              "GS NFV IFA011: Section 7.1.10.3 AspectDeltaDetails
2577
2578
               information element";
          }
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
          description
            "A specification of the deltas in terms of number of
             instances of VNFCs and virtual link bit rates that
             correspond to the scaling steps of this aspect. A
             cardinality of zero indicates that this mapping has to
             be specified in a lifecycle management script or be
             otherwise known to the VNFM. The information in this
             attribute, if provided, shall be consistent with the
             information provided in the 'InstantiationLevel'
             information element. If this attribute is provided, it
             shall be provided for all scaling aspects.";
          reference
            "GS NFV IFA011: Section 7.1.10.2 ScalingAspect
             information element";
2593
2594
        }
      }
2595
2596
2597
2598
2599
2600
2601
2602
    }

    container configurable-properties {
      description
        "Describes the configurable properties of the VNF
         (e.g. related to auto scaling and auto healing).";
      reference
        "GS NFV IFA011: Section 7.1.2 VNFD information element";
2603

2604
2605
      leaf is-auto-scalable-enabled {
        type boolean;
2606
        description
2607
2608
          "It permits to enable (TRUE) / disable (FALSE) the
           auto-scaling functionality.";
2609
        reference
2610
2611
2612
          "GS NFV IFA011: Section 7.1.12 VnfConfigurableProperties
           information element";
      }
2613

2614
2615
2616
2617
2618
2619
2620
2621
2622
      leaf is-auto-heal-enabled {
        type boolean;
        description
          "It permits to enable (TRUE) / disable (FALSE) the
           auto-healing functionality.";
        reference
          "GS NFV IFA011: Section 7.1.12 VnfConfigurableProperties
           information element";
      }
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
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
      container vnfm-interface-info {
        leaf interface-name {
          type string {
            pattern 'vnf-[lcm|pm|fm]';
          }
          description
            "Identifies an interface produced by the VNFM.";
        }

        container details {
          container uri-components {
            leaf scheme {
              type yang:uri;
              description
                "Corresponds to the scheme component of a URI, as
                 per IETF RFC 3986.";
              reference
                "RFC 3986: URI Generic Syntax.";
            }

            container authority {
              leaf userinfo {
                type string;
                description
                  "Corresponds to the userinfo field of the authority
                   component of a URI, as per IETF RFC 3986.

                   For HTTP and HTTPS URIs, the provisions in
                   sections 2.7.1 and 2.7.2 of IETF RFC 7230 apply,
                   respectively.";
                reference
                  "RFC 3986: URI Generic Syntax.";
              }

              leaf host {
                type yang:host;
                description
                  "Corresponds to the host field of the authority
                   component of a URI, as per IETF RFC 3986.";
                reference
                  "RFC 3986: URI Generic Syntax.";
              }

              leaf port {
                type yang:port-number;
                description
                  "Corresponds to the port field of the authority
                   component of a URI, as per IETF RFC 3986.";
                reference
                  "RFC 3986: URI Generic Syntax.";
              }
              description
                "Corresponds to the authority component of a URI,
                 as per IETF RFC 3986.";
              reference
                "RFC 3986: URI Generic Syntax.";
            }

            leaf path {
              type string;
              description
                "Corresponds to the path component of a URI, as per
                 IETF RFC 3986.";
              reference
                "RFC 3986: URI Generic Syntax.";
            }

            leaf query {
              type string;
              description
                "Corresponds to the query component of a URI, as per
                 IETF RFC 3986.";
              reference
                "RFC 3986: URI Generic Syntax.";
            }

            leaf fragment {
              type string;
              description
                "Corresponds to the fragment component of a URI, as per
                 IETF RFC 3986.";
              reference
                "RFC 3986: URI Generic Syntax.";
            }
            description
              "Provides components to build a Uniform Resource
               Identifier (URI) where to access the interface end
               point.";
          }

          leaf-list interface-specific-data {
            type string;
            description
              "Provides additional details that are specific to the
               type of interface considered.";
          }
          description
            "Provide additional data to access the interface
             endpoint (e.g. API URI prefix).";
        }

        leaf credentials {
          type string;
          description
            "Provides credential enabling access to the interface.";
        }
        description
          "Contains information enabling access to the NFV-MANO
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2732
2733
2734
2735
2736
2737
2738
           interfaces produced by the VNFM (e.g. URIs and
           credentials).";
        reference
          "GS NFV IFA011: Section 7.1.12 VnfConfigurableProperties
           information element";
      }

2739
2740
2741
      container vnfm-oauth-server-info {
        description
          "Contains information to enable discovery of the
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2742
2743
2744
2745
2746
2747
2748
           authorization server protecting access to
           VNFM interfaces.";
        reference
          "GS NFV IFA011: Section 7.1.12 VnfConfigurableProperties
           information element";
      }

2749
2750
2751
      container vnf-oauth-server-info {
        description
          "Contains information to enable discovery of the
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2752
2753
2754
2755
2756
2757
2758
2759
2760
           authorization server to validate the access tokens
           provided by the VNFM when the VNFM accesses the VNF
           interfaces, if that functionality (token introspection) is
           supported by the authorization server.";
        reference
          "GS NFV IFA011: Section 7.1.12 VnfConfigurableProperties
           information element";
      }

2761
2762
2763
2764
2765
      list additional-configurable-property {
        key "key";

        leaf key {
          type string;
2766
        }
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2767

2768
2769
        leaf value {
          type string;
2770
        }
2771
2772
2773
2774
2775
2776
        description
          "It provides VNF specific configurable properties that can
           be modified using the ModifyVnfConfiguration operation.";
        reference
          "GS NFV IFA011: Section 7.1.12 VnfConfigurableProperties
           information element";
2777
      }
2778
2779
2780
2781
2782
2783
2784
    }

    container modifiable-attributes {
      description
        "Describes the modifiable attributes of the VNF.";
      reference
        "GS NFV IFA011: Section 7.1.2 VNFD information element";
2785

2786
2787
      leaf-list extension {
        type string;
2788
        description
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
          "Additional VNF-specific attributes of VnfInfo that
           affect the lifecycle management of a VNF instance and
           that are writeable.

           For each VNF instance, these attributes are stored
           persistently by the VNFM and can be queried and
           modified through the VNFM.

           These attributes are intended to be consumed by the
           VNFM or by the lifecycle management scripts during the
           execution of VNF lifecycle management operations.

           Modifying these values has no direct effect on the VNF
           instance; however, modified values can be considered
           during subsequent VNF lifecycle management operations,
           which means that the modified values can indirectly
           affect the configuration of the VNF instance.";
2806
        reference
2807
2808
2809
          "GS NFV IFA011: Section 7.1.14 VnfInfoModifiableAttributes
           information element";
      }
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
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
      leaf-list metadata {
        type string;
        description
          "Additional VNF-specific attributes of VnfInfo that are
           writeable and that provide metadata describing the VNF
           instance.

           For each VNF instance, these attributes are stored
           persistently by the VNFM and can be queried and modified
           through the VNFM.

           These attributes are intended to provide information to
           functional blocks external to the VNFM and will not be
           used by the VNFM or the VNF lifecycle management
           scripts when executing lifecycle management operations.

           Modifying these attributes has no effect on the VNF
           instance. It only affects the attribute values stored by
           the VNFM.";
        reference
          "GS NFV IFA011: Section 7.1.14 VnfInfoModifiableAttributes
           information element";
      }
    }
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2835

2836
2837
2838
2839
2840
2841
2842
    list lifecycle-management-script {
      key "id";
      description
        "Includes a list of events and corresponding management
         scripts performed for the VNF.";
      reference
        "GS NFV IFA011: Section 7.1.2 VNFD information element";
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2843

2844
2845
2846
2847
2848
      leaf id {
        type string;
        description
          "A unique string that identfies the script in question.";
      }
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2849

2850
2851
2852
2853
2854
2855
2856
2857
2858
      leaf-list event {
        type internal-lifecycle-management-script-event;
        description
          "Describes VNF lifecycle event(s) or an external stimulus
           detected on a VNFM reference point.";
        reference
          "GS NFV IFA011: Section 7.1.13 LifeCycleManagementScript
           information element";
      }
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2859

2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
      leaf-list lcm-transition-event {
        type string;
        description
          "Describes the transition VNF lifecycle event(s) that
           cannot be mapped to any of the enumerated values
           defined for the event attribute.";
        reference
          "GS NFV IFA011: Section 7.1.13 LifeCycleManagementScript
           information element";
      }
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2870

2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
      leaf script {
        type string;
        description
          "Includes a VNF LCM script (e.g. written in a DSL as
           specified in requirement VNF_PACK.LCM.001) triggered to
           react to one of the events listed in the event
           attribute.";
        reference
          "GS NFV IFA011: Section 7.1.13 LifeCycleManagementScript
           information element";
2881
2882
      }

2883
2884
      leaf script-dsl {
        type string;
2885
        description
2886
2887
2888
          "Defines the domain specific language (i.e. the type) of
           script that is provided. Types of scripts could include
           bash, python, etc.";
2889
        reference
2890
2891
2892
          "GS NFV IFA011: Section 7.1.13 LifeCycleManagementScript
           information element";
      }
2893

2894
2895
      list script-input {
        key "key";
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2896

2897
        leaf key {
2898
2899
2900
2901
2902
          type string;
          description
            "Includes a VNF LCM script (e.g. written in a DSL as
             specified in requirement VNF_PACK.LCM.001) triggered to
             react to one of the events listed in the event
2903
2904
2905
2906
             attribute.

             The string value specified here is a path to a file in
             the VNF package.";
2907
2908
2909
2910
          reference
            "GS NFV IFA011: Section 7.1.13 LifeCycleManagementScript
             information element";
        }
2911
2912

        leaf value {
2913
2914
          type string;
        }
2915
2916
2917
2918
2919
2920
2921
        description
          "Array of KVP requirements with the key as the parameter
           name and the value as the parameter that need to be
           passed as an input to the script.";
        reference
          "GS NFV IFA011: Section 7.1.13 LifeCycleManagementScript
           information element";
2922
      }
2923
    }
2924

2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
    list element-group {
      key "id";
      description
        "Describes the associated elements of a VNFD for a certain
         purpose during VNF lifecycle management.";
      reference
        "GS NFV IFA011: Section 7.1.2 VNFD information element";

      leaf id {
        type string;
2935
        description
2936
          "Unique identifier of this group in the VNFD.";
2937
        reference
2938
2939
2940
          "GS NFV IFA011: Section 7.1.4 VnfdElementGroup
           information element";
      }
2941

2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
      leaf description {
        type string;
        description
          "Human readable description of the group.";
        reference
          "GS NFV IFA011: Section 7.1.4 VnfdElementGroup
           information element";
      }

      leaf-list vdu {
        type leafref {
          path "../../vdu/id";
2954
        }
2955
2956
2957
2958
2959
2960
2961
2962
2963
        description
          "References to Vdus that are part of this group.";
        reference
          "GS NFV IFA011: Section 7.1.4 VnfdElementGroup
           information element";
      }

      leaf-list virtual-link-desc {
        type leafref {
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2964
          path "/nfv:nfv/nfv:vnfd/nfv:int-virtual-link-desc/nfv:id";
2965
        }
2966
2967
2968
2969
2970
2971
        description
          "References to VnfVirtualLinkDesc that are part of this
           group.";
        reference
          "GS NFV IFA011: Section 7.1.4 VnfdElementGroup
           information element";
2972
      }
2973
    }
2974

2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
    list indicator {
      key "id";
      description
        "Declares the VNF indicators that are supported by this
         VNF.";
      reference
        "GS NFV IFA011: Section 7.1.2 VNFD information element";

      leaf id {
        type string;
2985
        description
2986
          "Unique identifier";
2987
        reference
2988
2989
2990
          "GS NFV IFA011: Section 7.1.11.2 VnfdIndicator
           information element";
      }
2991

2992
2993
2994
2995
2996
2997
2998
      leaf name {
        type string;
        description
          "The human readable name of the VnfIndicator.";
        reference
          "GS NFV IFA011: Section 7.1.11.2 VnfdIndicator
           information element";
2999
3000
      }

For faster browsing, not all history is shown. View entire blame