etsi-nfv-vnf.yang 98.2 KB
Newer Older
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
        reference
          "GS NFV IFA011: Section 7.1.8.2 VnfDf information
           element";
      }

      leaf-list supported-operation {
        type identityref {
          base supported-operation;
        }
        description
          "Indicates which operations are available for this DF via
           the VNF LCM interface. Instantiate VNF, Query VNF and
           Terminate VNF are supported in all DF and therefore
           need not be included in this list.";
        reference
          "GS NFV IFA011: Section 7.1.8.2 VnfDf information
           element";
      }

      container lcm-operations-configuration {
        description
          "This information element is a container for all
           attributes that affect the invocation of the VNF
           Lifecycle Management operations, structured by
           operation.";
        reference
          "GS NFV IFA011: Section 7.1.8.2 VnfDf information
           element";

        container instantiate-vnf-op-config {
          list parameter {
            key "key";

            leaf key {
              type string;
2036
            }
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2037

2038
2039
            leaf value {
              type string;
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2040
            }
2041
2042
2043
2044
2045
2046
2047
            description
              "Array of KVP requirements for VNF-specific parameters
               to be passed when invoking the InstantiateVnf
               operation.";
            reference
              "GS NFV IFA011: Section 7.1.5.3
               InstantiateVnfOpConfig information element";
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2048
          }
2049
2050
2051
2052
2053
2054
2055
          description
            "Configuration parameters for the InstantiateVnf
             operation.";
          reference
            "GS NFV IFA011: Section 7.1.5.2
             VnfLcmOperationsConfiguration information element";
        }
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2056

2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
        container scale-vnf-op-config {
          description
            "Configuration parameters for the ScaleVnf 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;
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2073
2074
            }
            description
2075
2076
              "Array of KVP requirements for VNFspecific parameters
               to be passed when invoking the ScaleVnf operation.";
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2077
            reference
2078
2079
              "GS NFV IFA011: Section 7.1.5.4 ScaleVnfOpConfig
               information element";
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2080
2081
          }

2082
2083
2084
          leaf scaling-by-more-than-one-step-supported {
            type boolean;
            default false;
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2085
            description
2086
2087
2088
2089
              "Signals whether passing a value larger than one in
               the numScalingSteps parameter of the ScaleVnf
               operation is supported by this VNF.
               Default is FALSE, i.e. 'not supported'.";
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2090
            reference
2091
2092
              "GS NFV IFA011: Section 7.1.5.4
               ScaleVnfOpConfig information element";
2093
2094
          }
        }
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2095

2096
        container scale-vnf-to-level-op-config {
2097
          description
2098
2099
2100
            "This information element defines attributes that
             affect the invocation of the ScaleVnfToLevel
             operation.";
2101
          reference
2102
2103
            "GS NFV IFA011: Section 7.1.5.2
             VnfLcmOperationsConfiguration information element";
2104

2105
2106
2107
2108
2109
2110
2111
2112
          list parameter {
            key "key";
            leaf key {
              type string;
            }
            leaf value {
              type string;
            }
2113
            description
2114
2115
2116
              "Array of KVP requirements for VNF-specific parameters
               to be passed when invoking the ScaleVnfToLevel
               operation.";
2117
            reference
2118
2119
              "GS NFV IFA011: Section 7.1.5.5
               ScaleVnfToLevelOpConfig information element";
2120
2121
          }

2122
2123
2124
          leaf arbitrary-target-levels-supported {
            type boolean;
            default "false";
2125
            description
2126
2127
              "Signals whether scaling according to the parameter
               'scaleInfo' is supported by this VNF.";
2128
            reference
2129
2130
              "GS NFV IFA011: Section 7.1.5.5
               ScaleVnfToLevelOpConfig information element";
2131
          }
2132
        }
2133

2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
        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;
            }
2152
            description
2153
2154
              "Array of KVP requirements for VNF-specific parameters
               to be passed when invoking the HealVnf operation.";
2155
            reference
2156
2157
              "GS NFV IFA011: Section 7.1.5.6 HealVnfOpConfig
               information element";
2158
          }
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2159

2160
          leaf-list cause {
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2161
2162
            type string;
            description
2163
              "Supported 'cause' parameter values.";
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2164
            reference
2165
              "GS NFV IFA011: Section 7.1.5.6 HealVnfOpConfig
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2166
2167
               information element";
          }
2168
        }
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2169

2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
        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
2181
            description
2182
2183
              "Minimum timeout value for graceful termination of
               a VNF instance.";
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2184
            reference
2185
2186
              "GS NFV IFA011: Section 7.1.5.7
               TerminateVnfOpConfig information element";
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2187
2188
          }

2189
2190
          leaf max-recommended-graceful-termination {
            type yang:timeticks;
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2191
            description
2192
2193
2194
2195
2196
2197
2198
              "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
2199
            reference
2200
2201
              "GS NFV IFA011: Section 7.1.5.7
               TerminateVnfOpConfig information element";
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2202
2203
          }

2204
2205
2206
2207
2208
2209
2210
          list parameter {
            key "key";
            leaf key {
              type string;
            }
            leaf value {
              type string;
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2211
2212
            }
            description
2213
2214
2215
              "Array of KVP requirements for VNF-specific parameters
               to be passed when invoking the TerminateVnf
               operation.";
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2216
            reference
2217
2218
              "GS NFV IFA011: Section 7.1.5.7
               TerminateVnfOpConfig information element";
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2219
          }
2220
        }
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2221

2222
        container operate-vnf-op-config {
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2223
          description
2224
2225
            "This information element defines attributes that
             affect the invocation of the OperateVnf operation.";
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2226
          reference
2227
2228
            "GS NFV IFA011: Section 7.1.5.2
             VnfLcmOperationsConfiguration information element";
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2229

2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
          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
2240

2241
2242
          leaf max-recommended-graceful-stop-timeout {
            type yang:timeticks;
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2243
            description
2244
2245
2246
2247
2248
2249
2250
              "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
2251
            reference
2252
2253
              "GS NFV IFA011: Section 7.1.5.8
               OperateVnfOpConfig information element";
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2254
2255
          }

2256
2257
2258
2259
2260
2261
2262
          list parameter {
            key "key";
            leaf key {
              type string;
            }
            leaf value {
              type string;
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2263
2264
            }
            description
2265
2266
2267
              "Array of KVP requirements for VNF-specific parameters
               to be passed when invoking the OperateVnf
               operation.";
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2268
            reference
2269
2270
              "GS NFV IFA011: Section 7.1.5.8
               OperateVnfOpConfig information element";
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2271
          }
2272
        }
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2273

2274
2275
        container change-vnf-flavour-op-config {
          list parameter {
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2276
2277
2278
2279
            key "key";
            leaf key {
              type string;
            }
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
            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
2298

2299
2300
2301
2302
2303
2304
        container change-ext-vnf-connectivity-op-config {
          list parameter {
            key "key";
            leaf key {
              type string;
            }
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2305
2306
2307
            leaf value {
              type string;
            }
2308
2309
2310
2311
2312
2313
2314
2315
            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
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
          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
2347

2348
2349
        leaf id {
          type string;
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2350
          description
2351
2352
            "Identifies an affinity or anti-affinity group to which
             the affinity or anti-affinity rule applies.";
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2353
          reference
2354
2355
            "GS NFV IFA011: Section 7.1.8.12
             AffinityOrAntiAffinityGroup information element";
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2356
2357
        }

2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
        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";
        }
2368

2369
2370
2371
        leaf scope {
          mandatory true;
          type affinity-scope;
2372
          description
2373
2374
            "Specifies the scope of the rule, possible values are
             'NFVI-PoP', 'Zone', 'ZoneGroup', 'NFVI-node'.";
2375
          reference
2376
2377
2378
2379
            "GS NFV IFA011: Section 7.1.8.12
             AffinityOrAntiAffinityGroup information element";
        }
      }
2380

2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
      list indicator {
        key "id";

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

2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
        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";
        }
2411

2412
2413
2414
2415
2416
2417
        leaf source {
          type enumeration {
            enum vnf;
            enum em;
            enum both;
          }
2418
          description
2419
2420
2421
2422
2423
2424
2425
2426
            "Describe the source of the indicator. The possible
             values are:
             • VNF.
             • EM.
             • Both.

             This tells the consumer where to send the subscription
             request.";
2427
          reference
2428
2429
2430
2431
2432
2433
2434
2435
2436
            "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
2437
             element";
2438
      }
2439

2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
      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";
2461
          }
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
          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 {
2475
2476
            type string;
          }
2477
2478

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

        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
2530
               information element";
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
        }

        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";
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
          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";
2579
            }
2580

2581
            list vdu-delta {
2582
2583
2584
              key "id";

              leaf id {
2585
2586
2587
                type leafref {
                  path "../../../../../../vdu/id";
                }
2588
                description
2589
                  "Uniquely identifies a VDU.";
2590
                reference
2591
                  "GS NFV IFA011: Section 7.1.8.9 VduLevel
2592
2593
2594
                   information element";
              }

2595
2596
2597
              leaf number-of-instances {
                type uint32 {
                  range "0..max";
2598
2599
                }
                description
2600
2601
2602
                  "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.";
2603
                reference
2604
                  "GS NFV IFA011: Section 7.1.8.9 VduLevel
2605
2606
                   information element";
              }
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
              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";
2617

2618
2619
2620
2621
2622
2623
2624
2625
              leaf id {
                type string;
                description
                  "Uniquely identifies a VnfVirtualLinkDesc.";
                reference
                  "GS NFV IFA011: Section 7.1.10.5
                   VirtualLinkBitRateLevel information element";
              }
2626

2627
2628
2629
2630
2631
              container bit-rate-requirements {
                leaf root {
                  type uint32;
                  units bits/sec;
                  mandatory true;
2632
                  description
2633
2634
2635
                    "Throughput requirement of the link (e.g.
                     bitrate of E-Line, root bitrate of E-Tree,
                     aggregate capacity of E-LAN).";
2636
                  reference
2637
2638
                    "GS NFV IFA011: Section 7.1.8.6
                     LinkBitrateRequirements information element";
2639
2640
                }

2641
2642
2643
                leaf leaf {
                  type uint32;
                  units bits/sec;
2644
                  description
2645
2646
2647
                    "Throughput requirement of leaf connections to
                     the link when applicable to the connectivity
                     type (e.g. for E-Tree and E-LAN branches).";
2648
                  reference
2649
2650
                    "GS NFV IFA011: Section 7.1.8.6
                     LinkBitrateRequirements information element";
2651
2652
                }
                description
2653
2654
                  "Bitrate requirements for an instantiation level
                   or bitrate delta for a scaling step.";
2655
                reference
2656
2657
                  "GS NFV IFA011: Section 7.1.10.5
                   VirtualLinkBitRateLevel information element";
2658
2659
              }
              description
2660
2661
                "The bitrate to be added or removed to virtual links
                 created from particular virtual link descriptors.";
2662
              reference
2663
                "GS NFV IFA011: Section 7.1.10.4 ScalingDelta
2664
2665
                 information element";
            }
2666
2667
2668
2669
2670
2671
2672
2673
            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";
          }
2674

2675
2676
2677
          leaf step-deltas {
            type leafref {
              path "../deltas/id";
2678
2679
            }
            description
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
              "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.";
2690
            reference
2691
              "GS NFV IFA011: Section 7.1.10.3 AspectDeltaDetails
2692
2693
               information element";
          }
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
          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";
2708
2709
        }
      }
2710
2711
2712
2713
2714
2715
2716
2717
    }

    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";
2718

2719
2720
      leaf is-auto-scalable-enabled {
        type boolean;
2721
        description
2722
2723
          "It permits to enable (TRUE) / disable (FALSE) the
           auto-scaling functionality.";
2724
        reference
2725
2726
2727
          "GS NFV IFA011: Section 7.1.12 VnfConfigurableProperties
           information element";
      }
2728

2729
2730
2731
2732
2733
2734
2735
2736
2737
      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
2738

2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
      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 {
2751
              type inet:uri;
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
              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 {
2774
                type inet:host;
2775
2776
2777
2778
2779
2780
2781
2782
                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 {
2783
                type inet:port-number;
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
                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
2847
2848
2849
2850
2851
2852
2853
           interfaces produced by the VNFM (e.g. URIs and
           credentials).";
        reference
          "GS NFV IFA011: Section 7.1.12 VnfConfigurableProperties
           information element";
      }

2854
2855
2856
      container vnfm-oauth-server-info {
        description
          "Contains information to enable discovery of the
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2857
2858
2859
2860
2861
2862
2863
           authorization server protecting access to
           VNFM interfaces.";
        reference
          "GS NFV IFA011: Section 7.1.12 VnfConfigurableProperties
           information element";
      }

2864
2865
2866
      container vnf-oauth-server-info {
        description
          "Contains information to enable discovery of the
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2867
2868
2869
2870
2871
2872
2873
2874
2875
           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";
      }

2876
2877
2878
2879
2880
      list additional-configurable-property {
        key "key";

        leaf key {
          type string;
2881
        }
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2882

2883
2884
        leaf value {
          type string;
2885
        }
2886
2887
2888
2889
2890
2891
        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";
2892
      }
2893
2894
2895
2896
2897
2898
2899
    }

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

2901
2902
      leaf-list extension {
        type string;
2903
        description
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
          "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.";
2921
        reference
2922
2923
2924
          "GS NFV IFA011: Section 7.1.14 VnfInfoModifiableAttributes
           information element";
      }
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
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
      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
2950

2951
2952
2953
2954
2955
2956
2957
    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
2958

2959
2960
2961
2962
2963
      leaf id {
        type string;
        description
          "A unique string that identfies the script in question.";
      }
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2964

2965
      leaf-list event {
Mahesh Jethanandani's avatar
Issue#1    
Mahesh Jethanandani committed
2966
2967
2968
2969
        type union {
          type internal-lifecycle-management-script-event;
          type external-lifecycle-management-script-event;
        }
2970
2971
        description
          "Describes VNF lifecycle event(s) or an external stimulus
Mahesh Jethanandani's avatar
Issue#1    
Mahesh Jethanandani committed
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
           detected on a VNFM reference point.

           If the event is of type 
           internal-lifecycle-management-script-event, then depending
           on whether the event is of type start-* or end-*, the
           script associated with the VNF LCM operation needs to be 
           executed before the event, or after the event,
           respectively.

           On the other hand, if the event is of type
           external-lifecycle-management-script-event, then the
           script associated with the event needs to be executed
           for the given VNF LCM operation.";
2985
2986
2987
2988
        reference
          "GS NFV IFA011: Section 7.1.13 LifeCycleManagementScript
           information element";
      }
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
2989

2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
      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
3000

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