etsi_nfv_sol001_vnfd_types.yaml 107 KB
Newer Older
    requirements:
      - associatedVdu:
          capability: tosca.capabilities.nfv.AssociableVdu
          relationship: tosca.relationships.nfv.MciopAssociates
          node: tosca.nodes.nfv.Vdu.OsContainerDeployableUnit
          occurrences: [1, UNBOUNDED]

  tosca.nodes.nfv.VirtualCp:
    derived_from: tosca.nodes.nfv.Cp
    description: Describes a virtual connection point allowing access to a number of VNFC instances (based on their respective VDUs).
    properties:
      additionalServiceData:
        type: list
        entry_schema:
          type: tosca.datatypes.nfv.AdditionalServiceData
        description: References the VDU(s) which implement this service
        required: true
    requirements:
      - target:
          capability: tosca.capabilities.Node
          relationship: tosca.relationships.DependsOn
          occurrences: [ 1, UNBOUNDED ]
      - virtual_link:
          capability: tosca.capabilities.nfv.VirtualLinkable
          relationship: tosca.relationships.nfv.VirtualLinksTo
          occurrences: [0, 1]
group_types:
  tosca.groups.nfv.PlacementGroup:
    derived_from: tosca.groups.Root
    description: PlacementGroup is used for describing 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) or between the workloads being deployed based on different Mciops
    properties:
      description:
admin_forge's avatar
admin_forge committed
       type: string
       description: Human readable description of the group
       required: true
    members: [ tosca.nodes.nfv.Vdu.Compute, tosca.nodes.nfv.Vdu.OsContainerDeployableUnit, tosca.nodes.nfv.VnfVirtualLink, tosca.nodes.nfv.Mciop ]
policy_types:
  tosca.policies.nfv.InstantiationLevels:
    derived_from: tosca.policies.Root
    description: The InstantiationLevels type is a policy type representing all the instantiation levels of resources to be instantiated within a deployment flavour and including default instantiation level in term of the number of VNFC instances to be created as defined in ETSI GS NFV-IFA 011 [1].
    properties:
      levels:
admin_forge's avatar
admin_forge committed
       type: map # key: levelId
       description: Describes the various levels of resources that can be used to instantiate the VNF using this flavour.
       required: true
       entry_schema:
         type: tosca.datatypes.nfv.InstantiationLevel
admin_forge's avatar
admin_forge committed
       constraints:
         - min_length: 1
admin_forge's avatar
admin_forge committed
       type: string # levelId
       description: The default instantiation level for this flavour.
       required: false # required if multiple entries in levels

  tosca.policies.nfv.VduInstantiationLevels:
    derived_from: tosca.policies.Root
admin_forge's avatar
admin_forge committed
    description: The VduInstantiationLevels type is a policy type representing all the instantiation levels of resources to be instantiated within a deployment flavour in term of the number of VNFC instances to be created from each vdu.Compute. as defined in ETSI GS NFV-IFA 011 [1]
admin_forge's avatar
admin_forge committed
       type: map # key: levelId
       description: Describes the Vdu.Compute levels of resources that can be used to instantiate the VNF using this flavour
       required: true
       entry_schema:
        type: tosca.datatypes.nfv.VduLevel
       constraints:
         - min_length: 1
    targets: [ tosca.nodes.nfv.Vdu.Compute, tosca.nodes.nfv.Vdu.OsContainerDeployableUnit ]

  tosca.policies.nfv.VirtualLinkInstantiationLevels:
    derived_from: tosca.policies.Root
admin_forge's avatar
admin_forge committed
    description: The VirtualLinkInstantiationLevels type is a policy type representing all the instantiation levels of virtual link resources to be instantiated within a deployment flavour as defined in ETSI GS NFV-IFA 011 [1].
admin_forge's avatar
admin_forge committed
       type: map # key: levelId
       description: Describes the virtual link levels of resources that can be used to instantiate the VNF using this flavour.
       required: true
       entry_schema:
        type: tosca.datatypes.nfv.VirtualLinkBitrateLevel
       constraints:
         - min_length: 1
    targets: [ tosca.nodes.nfv.VnfVirtualLink ]

  tosca.policies.nfv.ScalingAspects:
    derived_from: tosca.policies.Root
admin_forge's avatar
admin_forge committed
    description: The ScalingAspects type is a policy type representing the scaling aspects used for horizontal scaling as defined in ETSI GS NFV-IFA 011 [1]
admin_forge's avatar
admin_forge committed
       type: map # key: aspectId
       description: Describe maximum scale level for total number of scaling steps that can be applied to a particular aspect
       required: true
       entry_schema:
        type: tosca.datatypes.nfv.ScalingAspect
       constraints:
         - min_length: 1

  tosca.policies.nfv.VduScalingAspectDeltas:
    derived_from: tosca.policies.Root
admin_forge's avatar
admin_forge committed
    description: The VduScalingAspectDeltas type is a policy type representing the Vdu.Compute detail of an aspect deltas used for horizontal scaling, as defined in ETSI GS NFV-IFA 011 [1]
admin_forge's avatar
admin_forge committed
       type: string
       description: Represents the scaling aspect to which this policy applies
       required: true
admin_forge's avatar
admin_forge committed
       type: map # key: scalingDeltaId
       description: Describes the Vdu.Compute scaling deltas to be applied for every scaling steps of a particular aspect.
       required: true
       entry_schema:
        type: tosca.datatypes.nfv.VduLevel
       constraints:
         - min_length: 1
    targets: [ tosca.nodes.nfv.Vdu.Compute, tosca.nodes.nfv.Vdu.OsContainerDeployableUnit ]

  tosca.policies.nfv.VirtualLinkBitrateScalingAspectDeltas:
    derived_from: tosca.policies.Root
    description: The VirtualLinkBitrateScalingAspectDeltas type is a policy type representing the VnfVirtualLink detail of an aspect deltas used for horizontal scaling, as defined in ETSI GS NFV-IFA 011 [1].
    properties:
      aspect:
        type: string
        description: Represents the scaling aspect to which this policy applies.
        required: true
        type: map # key: scalingDeltaId
        description: Describes the VnfVirtualLink scaling deltas to be applied for every scaling steps of a particular aspect.
        required: true
        entry_schema:
          type: tosca.datatypes.nfv.VirtualLinkBitrateLevel
        constraints:
          - min_length: 1
    targets: [ tosca.nodes.nfv.VnfVirtualLink ]

  tosca.policies.nfv.VduInitialDelta:
    derived_from: tosca.policies.Root
    description: The VduInitialDelta type is a policy type representing the Vdu.Compute detail of an initial delta used for horizontal scaling, as defined in ETSI GS NFV-IFA 011 [1].
    properties:
admin_forge's avatar
admin_forge committed
     initial_delta:
       type: tosca.datatypes.nfv.VduLevel
       description: Represents the initial minimum size of the VNF.
       required: true
    targets: [ tosca.nodes.nfv.Vdu.Compute, tosca.nodes.nfv.Vdu.OsContainerDeployableUnit ]

  tosca.policies.nfv.VirtualLinkBitrateInitialDelta:
    derived_from: tosca.policies.Root
    description: The VirtualLinkBitrateInitialDelta type is a policy type representing the VnfVirtualLink detail of an initial deltas used for horizontal scaling, as defined in ETSI GS NFV-IFA 011 [1].
    properties:
      initial_delta:
        type: tosca.datatypes.nfv.VirtualLinkBitrateLevel
        description: Represents the initial minimum size of the VNF.
        required: true
    targets: [ tosca.nodes.nfv.VnfVirtualLink ]

  tosca.policies.nfv.AffinityRule:
    derived_from: tosca.policies.Placement
    description: The AffinityRule describes the affinity rules applicable for the defined targets
    properties:
      scope:
        type: string
        description: scope of the rule is an NFVI_node, an NFVI_PoP, etc.
        required: true
        constraints:
          - valid_values: [ nfvi_node, zone, zone_group, nfvi_pop, network_link_and_node, container_namespace, cis_node ]
      nfvi_maintenance_group_info:
        type: tosca.datatypes.nfv.NfviMaintenanceInfo
        description: Provides information on the impact tolerance and rules to be observed when a group of instances based on the same Vdu.Compute (for VM based VDU) node is impacted during NFVI operation and maintenance (e.g. NFVI resource upgrades).  
        required: false
    targets: [ tosca.nodes.nfv.Vdu.Compute, tosca.nodes.nfv.VnfVirtualLink, tosca.groups.nfv.PlacementGroup, tosca.nodes.nfv.Mciop, tosca.nodes.nfv.Vdu.OsContainerDeployableUnit ]

  tosca.policies.nfv.AntiAffinityRule:
    derived_from: tosca.policies.Placement
    description: The AntiAffinityRule describes the anti-affinity rules applicable for the defined targets
    properties:
      scope:
        type: string
        description: scope of the rule is an NFVI_node, an NFVI_PoP, etc.
        required: true
        constraints:
          - valid_values: [ nfvi_node, zone, zone_group, nfvi_pop, network_link_and_node, container_namespace, cis_node ]
      nfvi_maintenance_group_info:
        type: tosca.datatypes.nfv.NfviMaintenanceInfo
        description: Provides information on the impact tolerance and rules to be observed when a group of instances based on the same Vdu.Compute node is impacted during NFVI operation and maintenance (e.g. NFVI resource upgrades).  
        required: false
    targets: [ tosca.nodes.nfv.Vdu.Compute, tosca.nodes.nfv.VnfVirtualLink, tosca.groups.nfv.PlacementGroup, tosca.nodes.nfv.Mciop, tosca.nodes.nfv.Vdu.OsContainerDeployableUnit ]
admin_forge's avatar
admin_forge committed
  
  tosca.policies.nfv.SupportedVnfInterface:
   derived_from: tosca.policies.Root
   description:  this policy type represents interfaces produced by a VNF, the details to access them and the applicable connection points to use to access these interfaces
   properties:
     interface_name:
       type: string
       description: Identifies an interface produced by the VNF.
       required: true
       constraints:
         - valid_values: [ vnf_indicator, vnf_configuration, vnf_lcm_coordination ]
admin_forge's avatar
admin_forge committed
     details:
       type: tosca.datatypes.nfv.InterfaceDetails
       description: Provide additional data to access the interface endpoint
       required: false 
   targets: [ tosca.nodes.nfv.VnfExtCp, tosca.nodes.nfv.VduCp ]

  tosca.policies.nfv.SecurityGroupRule:
admin_forge's avatar
admin_forge committed
    derived_from: tosca.policies.nfv.Abstract.SecurityGroupRule
    description: The SecurityGroupRule type is a policy type specified the matching criteria for the ingress and/or egress traffic to/from visited connection points as defined in ETSI GS NFV-IFA 011 [1].
    targets: [ tosca.nodes.nfv.VduCp, tosca.nodes.nfv.VnfExtCp, tosca.nodes.nfv.Vdu.OsContainerDeployableUnit ]

  tosca.policies.nfv.VnfIndicator:
    derived_from: tosca.policies.Root
    description: The VnfIndicator policy type is a base policy type for defining VNF indicator specific policies that define the conditions to assess and the action to perform when a VNF indicator changes value as defined in ETSI GS NFV-IFA 011 [1].
    properties:
      source:
        type: string
        description: Describe the source of the indicator.
        required: true
        constraints:
          - valid_values: [ vnf, em, both_vnf_and_em ]
    targets: [ tosca.nodes.nfv.VNF ]

  tosca.policies.nfv.VnfPackageChange:
    derived_from: tosca.policies.Root
    description: policy type specifying the processes and rules to be used for performing the resource related tasks, to change VNF instance to a different VNF Package (destination package)
    properties:
      selector:
        type: list
        entry_schema:
          type: tosca.datatypes.nfv.VnfPackageChangeSelector
        description: Information to identify the source and destination VNFD for the change, and the related deployment flavours.
        required: true
        constraints:
          - min_length: 1
      modification_qualifier:
        type: string
        description: Specifies the type of modification resulting from transitioning from srcVnfdId to dstVnfdId. The possible values are UP indicating that the destination VNF version is newer than the source version, DOWN indicating that the destination VNF version is older than the source version.
        constraints: [ valid_values: [ up, down ] ]
        required: true
      additional_modification_description:
        type: string
        description: Additional information to qualify further the change between the two versions.
        required: false
      component_mappings:
        type: list
        entry_schema:
          type: tosca.datatypes.nfv.VnfPackageChangeComponentMapping
        description: Mapping information related to identifiers of components in source VNFD and destination VNFD that concern to the change process.
        required: false
      destination_flavour_id:
        type: string
        description: Identifies the deployment flavour in the destination VNF package for which this change applies. The flavour ID is defined in the destination VNF package.
        required: true
      actions:
        type: list
        description: List of applicable supported LCM coordination action names (action_name) specified in this VNFD as a TOSCA policy of a type derived from tosca.policies.nfv.LcmCoordinationAction.
        required: false
        entry_schema:
          type: string
      referenced_coordination_actions:
        type: list
        description: List of names of coordination actions not specified within this VNFD as a TOSCA policy of a type derived from tosca.policies.nfv.LcmCoordinationAction.
        required: false
        entry_schema:
          type: string
    targets: [ tosca.nodes.nfv.VNF ]
  tosca.policies.nfv.LcmCoordinationAction:
    derived_from: tosca.policies.Root
    description: The LcmCoordinationAction type is a policy type representing the LCM coordination actions supported by a VNF and/or expected to be supported by its EM for a particular VNF LCM operation. This policy concerns the whole VNF (deployment flavour) represented by the topology_template and thus has no explicit target list.
    properties:
      action_name:
        type: string
        description: Coordination action name.
        required: true
      # action:  #represents a place holder for specifying actions of a VNF-specific type derived from tosca.datatypes.nfv.VnfLcmOpCoord
        # type: tosca.datatypes.nfv.VnfLcmOpCoord
        # description: Describes a set of information needed for coordination action in the VNF LCM operation.
        # required: true

  tosca.policies.nfv.LcmCoordinationsForLcmOperation:
    derived_from: tosca.policies.Root
    description: The LcmCoordinationsForLcmOperation type is a policy type representing supported LCM coordination actions associated to a VNF LCM operation. This policy concerns the whole VNF (deployment flavour) represented by the topology_template and thus has no explicit target list.
    properties:
      vnf_lcm_operation:
        type: string
        description: The VNF LCM operation the LCM coordination actions are associated with.
        required: true
        constraints:
          - valid_values: [instantiate, scale, scale_to_level, change_flavour, terminate, heal, operate, change_ext_conn, modify_info, create_snapshot, revert_to_snapshot ]
      actions:
        type: list
        description: List of applicable supported LCM coordination action names (action_name) specified in this VNFD as a TOSCA policy of a type derived from tosca.policies.nfv.LcmCoordinationAction.
        required: false
        entry_schema:
          type: string
      referenced_coordination_actions:
        type: list
        description: List of names of coordination actions not specified within this VNFD as a TOSCA policy of a type derived from tosca.policies.nfv.LcmCoordinationAction.
        required: false
        entry_schema:
          type: string