aboutsummaryrefslogtreecommitdiffstats
path: root/vnfs/VES/libs/x86_64/README
blob: 760fdc13a5cdfb2a0a121da1d15f567a14b37810 (plain)
1
Generated libraries.
77' href='#n277'>277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827
tosca_definitions_version: tosca_simple_yaml_1_0
#Artifact Types
#Based on R2 Design-time Resource DM clean version v8
artifact_types:
  tosca.artifacts.nfv.SwImage:
    derived_from: tosca.artifacts.Deployment.Image

#Capabilities Type
#Based on R2 Design-time Resource DM clean version v21
capability_types:
  tosca.capabilities.nfv.VirtualBindable:
    derived_from: tosca.capabilities.Root
  
  tosca.capabilities.nfv.Metric:
    derived_from: tosca.capabilities.Root
  
  tosca.capabilities.nfv.VirtualCompute:
    derived_from: tosca.capabilities.Root
    properties:
      logical_node:
        type: tosca.datatypes.nfv.LogicalNodeData
        required: false
      compute_requirements:
        type: map
        entry_schema:
          type: string
        required: false
      requested_additional_capabilities:
        type: map
        entry_schema:
           type: tosca.datatypes.nfv.RequestedAdditionalCapability
        required: false
      virtual_memory:
        type: tosca.datatypes.nfv.VirtualMemory
        required: true
      virtual_cpu:
        type: tosca.datatypes.nfv.VirtualCpu
        required: true

  tosca.capabilities.nfv.VirtualStorage:
    derived_from: tosca.capabilities.Root

  tosca.capabilities.nfv.VirtualLinkable:
    derived_from: tosca.capabilities.Root
  
  tosca.capabilities.nfv.ExtVirtualLinkable:
    derived_from: tosca.capabilities.Root

#Data Types
#Based on R2 Design-time Resource DM clean version v45
data_types:
  tosca.datatypes.nfv.L2AddressData:
    derived_from: tosca.datatypes.Root
    properties: 
      mac_address_assignment:
        type: boolean
        required: true

  tosca.datatypes.nfv.injectFile:
    derived_from: tosca.datatypes.Root
    properties: 
      source_path:
        type: string
        required: true
      dest_path:
        type: string
        required: true

  tosca.datatypes.nfv.L3AddressData:
    derived_from: tosca.datatypes.Root
    properties: 
      ip_address_assignment:
        type: boolean
        required: true   
      floating_ip_activated:
        type: boolean
        required: true
      ip_address_type:
        type: string
        required: false
        constraints:
          - valid_values: [ipv4, ipv6]
      number_of_ip_address:
        type: integer
        required: false
      fixed_ip_address:
        type: list
        entry_schema:
          type: string
        required: false

  tosca.datatypes.nfv.AddressData:
    derived_from: tosca.datatypes.Root
    properties: 
      address_type:
        type: string
        required: true
        constraints:
          - valid_values: [mac_address, ip_address]    
      l2_address_data:
        type: tosca.datatypes.nfv.L2AddressData # empty in "GS NFV IFA011 V0.7.3"
        required: false
      l3_address_data:
        type: tosca.datatypes.nfv.L3AddressData
        required: false 
  
  tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements:
    derived_from: tosca.datatypes.Root
    properties: 
      name:
        type: string
        required: false   
      description:
        type: string
        required: false
      support_mandatory:
        type: boolean
        required: true
      #TODO HPA
      network_interface_requirements:
        type: map
        entry_schema:
          type: string
        required: true
      nic_io_requirements:
        type: tosca.datatypes.nfv.LogicalNodeData
        required: false
  
  tosca.datatypes.nfv.ConnectivityType:
    derived_from: tosca.datatypes.Root
    properties: 
      layer_protocol:
        type: string
        required: true
        constraints:
          - valid_values: [ethernet, mpls, odu2, ipv4, ipv6, pseudo_wire ]  
      flow_pattern:
        type: string
        required: false
        constraints: # not defined in IFA011 v2.4.1 and SOL001 v.6.0
          - valid_values: [Line, Tree, Mesh]
  
  tosca.datatypes.nfv.RequestedAdditionalCapability:
    derived_from: tosca.datatypes.Root
    properties:
      #name:
        # key of containing map
      support_mandatory:
        type: boolean
        required: true
      min_requested_additional_capability_version:
        type: string
        required: false
      preferred_requested_additional_capability_version:
        type: string
        required: false
      requested_additional_capability_name:
        type: string
        required: true
      target_performance_parameters:
        type: map
        entry_schema:
          type: string
        required: true     
  
  tosca.datatypes.nfv.VirtualMemory:
      derived_from: tosca.datatypes.Root
      properties:
        virtual_mem_size:
          type: scalar-unit.size # Number
          required: true
        virtual_mem_oversubscription_policy:
          type: string
          required: false
        #TODO HPA
        vdu_memory_requirements:
          type: map
          entry_schema:
           type: string
          required: false
        numa_enabled:
          type: boolean
          required: false
  
  tosca.datatypes.nfv.VirtualCpu:
    derived_from: tosca.datatypes.Root
    properties:
      cpu_architecture:
        type: string
        required: false
      num_virtual_cpu:
        type: integer
        required: true
      virtual_cpu_clock:
        type: scalar-unit.frequency
        required: false
      virtual_cpu_oversubscription_policy:
        type: string
        required: false
      #TODO HPA
      vdu_cpu_requirements:
        type: map
        entry_schema:
           type: string
        required: false
      virtual_cpu_pinning:
        type: tosca.datatypes.nfv.VirtualCpuPinning
        required: false
  
  tosca.datatypes.nfv.VirtualCpuPinning:
    derived_from: tosca.datatypes.Root
    properties:
      cpu_pinning_policy:
        type: string # CpuPinningPolicy
        constraints:
          - valid_values: [ static, dynamic ]
        required: false
      cpu_pinning_map:
        type: map
        entry_schema:
          type: string
        required: false
  
  tosca.datatypes.nfv.VnfcConfigurableProperties:
    derived_from: tosca.datatypes.Root
    properties:
      additional_vnfc_configurable_properties:
        type: map
        entry_schema:
          type: string
        required: false
  
  tosca.datatypes.nfv.VduProfile:
      derived_from: tosca.datatypes.Root
      properties:
        min_number_of_instances:
          type: integer
          required: true
        max_number_of_instances:
          type: integer
          required: true
        #localAffinityOrAntiAffinityRule:  # not defined in SOL001 v.6.0
        #  type: tosca.datatype.nfv.LocalAffinityOrAntiAffinityRule
        #  required: true
        #affinityOrAntiAffinityGroupId: # not defined in SOL001 v.6.0
        #  type: string
        #  required: true
        watchdog: #Align with ONAP R2 IM. not defined in IFA011 v2.4.1 and SOL001 v.6.0
          type: string
          required: true
        vmBootUpTimeOut: #Align with ONAP R2 IM. not defined in IFA011 v2.4.1 and SOL001 v.6.0
          type: integer
          required: false
  
   
  tosca.datatypes.nfv.VlProfile:
      derived_from: tosca.datatypes.Root
      properties:
        max_bit_rate_requirements:
           type: tosca.datatypes.nfv.LinkBitRateRequirements
           required: true
        min_bit_rate_requirements:
           type: tosca.datatypes.nfv.LinkBitRateRequirements
           required: true
        qos:
           type: tosca.datatypes.nfv.Qos
           required: false
        initiationParameters: #Align with ONAP R2 IM. not defined in IFA011 v2.4.1 and SOL001 v.6.0
           type: map
           entry_schema:
             type: string
           required: false
        cidr: #Align with ONAP R2 IM. not defined in IFA011 v2.4.1 and SOL001 v.6.0
           type: string
           required: false
        networkName:  #Align with ONAP R2 IM. not defined in IFA011 v2.4.1 and SOL001 v.6.0
           type: string
           required: false
        startIp:  #Align with ONAP R2 IM. not defined in IFA011 v2.4.1 and SOL001 v.6.0
           type: string
           required: false
        endIp:  #Align with ONAP R2 IM. not defined in IFA011 v2.4.1 and SOL001 v.6.0
           type: string
           required: false
        gatewayIp:  #Align with ONAP R2 IM. not defined in IFA011 v2.4.1 and SOL001 v.6.0
           type: string
           required: false
        segmentationId:  #Align with ONAP R2 IM. not defined in IFA011 v2.4.1 and SOL001 v.6.0
           type: integer
           required: false
        physicalNetwork:  #Align with ONAP R2 IM. not defined in IFA011 v2.4.1 and SOL001 v.6.0
           type: string
           required: false
        networkType:  #Align with ONAP R2 IM. not defined in IFA011 v2.4.1 and SOL001 v.6.0
           type: string
           required: false
           constraints:
             - valid_values: [VLAN, VXLAN]
        dhcpEnabled:  # not defined in IFA011 v2.4.1 and SOL001 v.6.0
           type: boolean
           required: false
        vlanTransparent:  #Align with ONAP R2 IM. not defined in IFA011 v2.4.1 and SOL001 v.6.0
           type: boolean
           required: false
  
  tosca.datatypes.nfv.InstantiationLevel:
      derived_from: tosca.datatypes.Root
      properties:
        description:
          type: string
          required: true
        vdu_levels:
          type: map # key: vduId
          required: true
          entry_schema:
            type: tosca.datatypes.nfv.VduLevel
        scale_info:
          type: map # key: aspectId
          required: false
          entry_schema:
            type: tosca.datatypes.nfv.ScaleInfo
  
  tosca.datatypes.nfv.VduLevel:
      derived_from: tosca.datatypes.Root
      properties:
        number_of_instances:
          type: integer
          required: true
  
  tosca.datatypes.nfv.VnfLcmOperationsConfiguration: 
    derived_from: tosca.datatypes.Root 
    properties: 
      instantiate: 
        type: tosca.datatypes.nfv.VnfInstantiateOperationConfiguration 
      scale:
        type: tosca.datatypes.nfv.VnfScaleOperationConfiguration 
      scale_to_level: 
        type: tosca.datatypes.nfv.VnfScaleToLevelOperationConfiguration 
      heal: 
        type: tosca.datatypes.nfv.VnfHealOperationConfiguration
      terminate:
        type: tosca.datatypes.nfv.VnfTerminateOperationConfiguration
      operate: 
        type: tosca.datatypes.nfv.VnfOperateOperationConfiguration
  
  tosca.datatypes.nfv.VnfInstantiateOperationConfiguration:
      derived_from: tosca.datatypes.Root
      #properties:
        #parameters:
            #modeled as part of operation parameter list
  
  tosca.datatypes.nfv.VnfScaleOperationConfiguration:
      derived_from: tosca.datatypes.Root
      properties:
        #parameters:
           #modeled as part of the operation parameter list
        scaling_by_more_than_one_step_supported:
           type: boolean
  
  tosca.datatypes.nfv.VnfScaleToLevelOperationConfiguration:
      derived_from: tosca.datatypes.Root
      properties:
        #parameters:
           #modeled as part of the operation parameter list
        arbitrary_target_levels_supported:
           type: boolean
  
  tosca.datatypes.nfv.VnfHealOperationConfiguration:
      derived_from: tosca.datatypes.Root
      properties:
        #parameters:
           #modeled as part of the operation parameter list
        causes:
           type: list
           entry_schema:
             type: string
  
  tosca.datatypes.nfv.VnfTerminateOperationConfiguration:
      derived_from: tosca.datatypes.Root
      properties:
        min_graceful_termination_timeout:
           type: integer
        max_recommended_graceful_termination_timeout:
           type: integer
  
  tosca.datatypes.nfv.VnfOperateOperationConfiguration:
    derived_from: tosca.datatypes.Root
    properties:
      min_graceful_termination_timeout:
           type: integer
      max_recommended_graceful_termination_timeout:
           type: integer
  
  tosca.datatypes.nfv.ScaleInfo:
    derived_from: tosca.datatypes.Root
    properties:
      scaleLevel:
           type: integer
           required: true
  
  tosca.datatypes.nfv.ScaleAspect:
    derived_from: tosca.datatypes.Root
    properties:
      name:
         type: string
         required: true
      description:
         type: string
         required: true
      associated_group:
         type: string #Identifier
         required: false
      max_scale_level:
         type: integer #PositiveInteger
         required: true
  
  tosca.datatypes.nfv.LinkBitRateRequirements:
    derived_from: tosca.datatypes.Root
    properties:
      root:
         type: integer
         required: true
      leaf:
         type: integer
         required: true
  
  tosca.datatypes.nfv.Qos:
    derived_from: tosca.datatypes.Root
    properties:
      latency:
         type: integer #Number [ms]
         required: true
      packet_delay_variation:
         type: integer #Number [ms]
         required: true
      packet_loss_ratio:
         type: float
         constraints:
           - in_range: [ 0.0, 1.0 ]
         required: false
  
  tosca.datatypes.nfv.CpProtocolData:
    derived_from: tosca.datatypes.Root
    properties:
      asscociated_layer_protocol:
        type: string
        constraints:
          - valid_values: [ethernet, mpls, odu2, ipv4, ipv6, pseudo-wire ]
        required: true
      address_data:
        type: tosca.datatypes.nfv.AddressData
        required: false
  
  tosca.datatypes.nfv.VnfConfigurableProperties:
    derived_from: tosca.datatypes.Root
    properties:
      is_autoscale_enabled:
        type: boolean
        required: false
      is_autoheal_enabled:
        type: boolean
        required: false
      additional_configurable_properties:
        type: tosca.datatypes.nfv.VnfAdditionalConfigurableProperties
        required: false
  
  tosca.datatypes.nfv.VnfAdditionalConfigurableProperties:
    derived_from: tosca.datatypes.Root
  
  tosca.datatypes.nfv.VnfInfoModifiableAttributes:
    derived_from: tosca.datatypes.Root
    properties:
      extensions:
        type: tosca.datatypes.nfv.VnfInfoModifiableAttributesExtensions
        required: false
      metadata:
        type: tosca.datatypes.nfv.VnfInfoModifiableAttributesMetadata
        required: false
  
  tosca.datatypes.nfv.VnfInfoModifiableAttributesExtensions:
    derived_from: tosca.datatypes.Root
  
  tosca.datatypes.nfv.VnfInfoModifiableAttributesMetadata:
    derived_from: tosca.datatypes.Root
  
  tosca.datatypes.nfv.LogicalNodeData:
    derived_from: tosca.datatypes.Root
    properties:
      #TODO HPA
      logical_node_requirements:
        type: map # not defined in SOL001 v.6.0
        entry_schema:
          type: string
        required: false

#Interface Types
#Based on R2 Design-time Resource DM clean version v10
interface_types:
  tosca.interfaces.nfv.vnf.lifecycle.Nfv:
    derived_from: tosca.interfaces.Root
    instantiate:
      description: Invoked upon receipt of an Instantiate VNF request
    instantiate_start:
      description: Invoked before instantiate
    instantiate_end:
      description: Invoked after instantiate
    terminate:
      description: Invoked upon receipt Terminate VNF request
    terminate_start:
      description: Invoked before terminate
    terminate_end:
      description: Invoked after terminate
    modify_information:
      description: Invoked upon receipt of a Modify VNF Information request
    modify_information_start:
      description: Invoked before modify_information
    modify_information_end:
      description: Invoked after modify_information
    change_flavour:
      description: Invoked upon receipt of a Change VNF Flavour request
    change_flavour_start:
      description: Invoked before change_flavour
    change_flavour_end:
      description: Invoked after change_flavour
    change_external_connectivity:
      description: Invoked upon receipt of a Change External VNF Connectivity request
    change_external_connectivity_start:
      description: Invoked before change_external_connectivity
    change_external_connectivity_end:
      description: Invoked after change_external_connectivity
    operate:
      description: Invoked upon receipt of an Operate VNF request
    operate_start:
      description: Invoked before operate
    operate_end:
      description: Invoked after operate
    heal:
      description: Invoked upon receipt of a Heal VNF request
    heal_start:
      description: Invoked before heal
    heal_end:
      description: Invoked after heal
    scale:
      description: Invoked upon receipt of a Scale VNF request
    scale_start:
      description: Invoked before scale
    scale_end:
      description: Invoked after scale 
    scale_to_level:
      description: Invoked upon receipt of a Scale VNF to Level request
    scale_to_level_start:
      description: Invoked before scale_to_level
    scale_to_level_end:
      description: Invoked after scale_to_level
  #  indicator_changed:
  #    description: On receiving a VNF indicator value change notification

#Node Types
#Based on R2 Design-time Resource DM clean version v36
node_types:
  tosca.nodes.nfv.Vdu.Compute:
    derived_from: tosca.nodes.Root
    properties:
      name:
        type: string
        required: true
      description:
        type: string
        required: true
      boot_order:
        type: list # explicit index (boot index) not necessary, contrary to IFA011
        entry_schema:
          type: string
        required: false
      nfvi_constraints:
        type: list
        entry_schema:
          type: string
        required: false
      configurable_properties:
        type: map
        entry_schema:
           type: tosca.datatypes.nfv.VnfcConfigurableProperties
        required: true 
      vdu_profile:
        type: tosca.datatypes.nfv.VduProfile
        required: true
      inject_files: #Aligned with ONAP R2 IM. not defined in IFA011 v2.4.1 and SOL001 v0.6.0
        #type: list
        #entry_schema:
        #TODO workaround of SDC bug
        type: tosca.datatypes.nfv.injectFile
        required: false
      meta_data: #metadata attached to the VM or container
        type: map
        entry_schema:
          type: string
        required: false
      user_data: #cloudinit userdata script support
        type: string
        required: false
    #attributes: NOT DEFINED IN ONAP IM and SOL001
      #private_address:
      #  status: deprecated
      #public_address:
      #  status: deprecated
      #networks:
      #  status: deprecated
      #ports:
      #  status: deprecated
    capabilities:
      virtual_compute:
        type: tosca.capabilities.nfv.VirtualCompute
      virtual_binding:
        type: tosca.capabilities.nfv.VirtualBindable
        occurrences: [1, UNBOUNDED]
      monitoring_parameter:
        type: tosca.capabilities.nfv.Metric
        occurrences: [0, UNBOUNDED]
    requirements:
      - virtual_storage:
          capability: tosca.capabilities.nfv.VirtualStorage
          relationship: tosca.relationships.nfv.Vdu.AttachedTo
          node: tosca.nodes.nfv.Vdu.VirtualStorage
          occurrences: [ 0, UNBOUNDED ]
    #artifacts:
    #  - sw_image:
    #      file:
    #      type: tosca.artifacts.nfv.SwImage
  
  tosca.nodes.nfv.Vdu.VirtualStorage:
    derived_from: tosca.nodes.Root
    properties:
      #id:
        # node name
      type_of_storage:
        type: string
        constraints:
          - valid_values: [volume, object, root, block]
        required: true
      size_of_storage:
        type: scalar-unit.size
        required: true
      #TODO HPA
      vdu_storage_requirements:
        type: map
        entry_schema:
          type: string
        required: false
      rdma_enabled:
        type: boolean
        required: false
    capabilities:
      virtual_storage:
        type: tosca.capabilities.nfv.VirtualStorage
    #artifacts:
    #  - sw_image:
    #     file:
    #     type: tosca.artifacts.Deployment.Image
  
  tosca.nodes.nfv.Cp:
    derived_from: tosca.nodes.Root
    properties:
      layer_protocol:
        type: list
        entry_schema:
          constraints:
            - valid_values: [ethernet, mpls, odu2, ipv4, ipv6, pseudo_wire ]
          type: string
        required: true
      role: #Name in ETSI NFV IFA011 v0.7.3 cpRole
        type: string
        constraints:
          - valid_values: [ root, leaf ]
        required: false
      description:
        type: string
        required: false
      protocol_data:
        type: list
        entry_schema:
          type: tosca.datatypes.nfv.CpProtocolData
        required: true
      trunk_mode:
        type: boolean
        required: true
      allowedAddressData: # Aligned with ONAP R2 Im.not defined in IFA011 v2.4.1 and SOL001 v0.6.0
        type: tosca.datatypes.nfv.AddressData
        required: false
  
  tosca.nodes.nfv.VduCp:
    derived_from: tosca.nodes.nfv.Cp
    properties:
      bitrate_requirement:
        type: integer
        required: false
      vnic_name: #  Aligned with ONAP R2 Im.not defined in IFA011 v2.4.1 and SOL001 v0.6.0
        type: string
        required: false
      vnic_order: # Aligned with ONAP R2 Im. not defined in IFA011 v2.4.1 and SOL001 v0.6.0
        type: integer
        required: false
      vnic_type: # Aligned with ONAP R2 Im. not defined in IFA011 v2.4.1 and SOL001 v0.6.0
        type: string
        constraints:
            - valid_values: [normal, macvtap, direct, baremetal, direct-physical, virtio-forwarder]
        required: false
      virtual_network_interface_requirements:
        type: list
        entry_schema:
          type: tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements
        required: false
      #order:
      #  type: integer
      #  required: false
      #  constraints:
      #    - greater_or_equal: 0
    requirements:
      - virtual_link:
          capability: tosca.capabilities.nfv.VirtualLinkable
          relationship: tosca.relationships.nfv.VirtualLinksTo
          node: tosca.nodes.nfv.VnfVirtualLink   
      - virtual_binding:
          capability: tosca.capabilities.nfv.VirtualBindable
          relationship: tosca.relationships.nfv.VirtualBindsTo
          node: tosca.nodes.nfv.Vdu.Compute
  
  tosca.nodes.nfv.VnfVirtualLink:
    derived_from: tosca.nodes.Root
    properties:
      connectivity_type:
        type: tosca.datatypes.nfv.ConnectivityType
        required: true
      description:
        type: string
        required: false
      test_access:
        type: list
        entry_schema:
          type: string
        required: false
      vl_profile:
        type: tosca.datatypes.nfv.VlProfile
        required: true
    capabilities:
      monitoring_parameter:
        type: tosca.capabilities.nfv.Metric
        occurrences: [0, UNBOUNDED]
      virtual_linkable:
        type: tosca.capabilities.nfv.VirtualLinkable
  
  tosca.nodes.nfv.VNF:
    derived_from: tosca.nodes.Root
    properties:
      descriptor_id: # instead of vnfd_id
        type: string # GUID
        required: true
      descriptor_version: # instead of vnfd_version
        type: string
        required: true
      provider: # instead of vnf_provider
        type: string
        required: true
      product_name: # instead of vnf_product_name
        type: string
        required: true
      software_version: # instead of vnf_software_version
        type: string
        required: true
      product_info_name: # instead of vnf_product_info_name
        type: string
        required: false
      product_info_description: # instead of vnf_product_info_description
        type: string
        required: false
      vnfm_info:
        type: list
        entry_schema:
          type: string
        required: true
      localization_languages:
        type: list
        entry_schema:
          type: string
        required: false
      default_localization_language:
        type: string
        required: false
      configurable_properties:
        type: tosca.datatypes.nfv.VnfConfigurableProperties
        required: false
      modifiable_attributes:
        type: tosca.datatypes.nfv.VnfInfoModifiableAttributes
        required: false  # true in IFA011, but all of members are false
      flavour_id:
        type: string
        required: true
      flavour_description:
        type: string
        required: true
    #capabilities:
      # monitoring_parameter:
        # modelled as ad hoc capabilities in the VNF node template
    requirements:
      - virtual_link:
          capability: tosca.capabilities.nfv.VirtualLinkable
          relationship: tosca.relationships.nfv.VirtualLinksTo
          node: tosca.nodes.nfv.VnfVirtualLink
          occurrences: [ 0, UNBOUNDED ]
    interfaces:
      Nfv:
        type: tosca.interfaces.nfv.vnf.lifecycle.Nfv

#Relationship Types
#Based on R2 Design-time Resource DM clean version v4
relationship_types:
  tosca.relationships.nfv.VirtualBindsTo:
    derived_from: tosca.relationships.DependsOn
    valid_target_types: [ tosca.capabilities.nfv.VirtualBindable]
  
  tosca.relationships.nfv.VirtualLinksTo:
    derived_from: tosca.relationships.DependsOn
    valid_target_types: [ tosca.capabilities.nfv.VirtualLinkable]

  tosca.relationships.nfv.Vdu.AttachedTo:
    derived_from: tosca.relationships.DependsOn
    valid_target_types: [ tosca.capabilities.nfv.VirtualStorage]