etsi_nfv_sol001_pnfd_types.yaml 5.71 KB
Newer Older
tosca_definitions_version: tosca_simple_yaml_1_3
description: ETSI NFV SOL 001 pnfd types definitions version 4.3.1
metadata:
  template_name: etsi_nfv_sol001_pnfd_types
  template_author: ETSI_NFV
  template_version: 4.3.1
     - ./etsi_nfv_sol001_common_types.yaml
admin_forge's avatar
admin_forge committed

data_types:
  tosca.datatypes.nfv.LocationInfo:
    derived_from: tosca.datatypes.Root
admin_forge's avatar
admin_forge committed
    description: Represents geographical information on the location where a PNF is deployed.
    properties:
      country_code:
        type: string # two-letter ISO 3166 country code
        description: Country code
        required: true
      civic_address_element:
        type: list
        entry_schema:
          type: tosca.datatypes.nfv.CivicAddressElement
        description: Elements composing the civic address where the PNF is deployed.
        required: false
      geographic_coordinates:
        type: tosca.datatypes.nfv.GeographicCoordinates
        description: Geographic coordinates (e.g. Altitude, Longitude, Latitude) where the PNF is deployed.
        required: false
  tosca.datatypes.nfv.CivicAddressElement:
    derived_from: tosca.datatypes.Root
admin_forge's avatar
admin_forge committed
    description: Represents an element of a civic location as specified in IETF  RFC 4776 [11]. 
    properties:
      ca_type:
admin_forge's avatar
admin_forge committed
       type: string # RFC4776
       description: caType as per RFC4776
       required: true
admin_forge's avatar
admin_forge committed
       type: string # RFC4776
       description: caValue as per RFC4776.
       required: true

  tosca.datatypes.nfv.GeographicCoordinates:
    derived_from: tosca.datatypes.Root
    description: Represents an element of a geographic coordinate location as specified in IETF RFC?6225. 
    properties:
      latitude_uncertainty:
        type: string # RFC 6225
        description: LatUnc as per RFC 6225
        required: false
      latitude:
        type: string # RFC 6225
        description: Latitude value as per RFC 6225
        required: true
      longitude_uncertainty:
        type: string # RFC 6225
        description: LongUnc as per RFC 6225
        required: false
      longitude:
        type: string # RFC 6225
        description: Longitude value as per RFC 6225
        required: true
      altitude_type:
        type: string # RFC 6225
        description: AType value as per RFC 6225
        required: true      
      altitude_uncertainty:
        type: string # RFC 6225
        description: AltUnc as per RFC 6225
        required: false
      altitude:
        type: string # RFC 6225
        description: Altitude value as per RFC 6225
        required: true

node_types:
  tosca.nodes.nfv.PNF:
    derived_from: tosca.nodes.Root
    properties: 
      descriptor_id: # instead of pnfd_id
        type: string # UUID
        required: true
        description: Identifier of this PNFD information element. It uniquely identifies the PNFD.
      function_description:
        type: string
        required: true
        description: Describes the PNF function.
        type: string
        required: true
        description: Identifies the provider of the PNFD.
        type: string
        required: true
        description: Identifies the version of the PNFD.
      descriptor_invariant_id: # instead of pnfd-invariant-id
        type: string # UUID
        required: true
        description: Identifier of this PNFD in a version independent manner. This attribute is invariant across versions of PNFD with no constraint on the changes across versions.
      ext_invariant_id:  
        type: string # UUID
        required: false
        description: Identifies a PNFD in a version independent manner. This attribute is invariant across versions of the PNFD that expose the same external connectivity, i.e. same number and name of the requirements for VirtualLinkable capability that represent PnfExtCps. When used in a PNF node template in an NSD it allows for PNF instances during NS LCM the use of a PNFD different from the one referenced by the descriptor_id attribute, provided they have the same ext_invariant_id. 
        type: string
        required: true
        description: Name to identify the PNFD.
      geographical_location_info: 
        type: tosca.datatypes.nfv.LocationInfo 
        required: false
        description: Provides information about the geographical location (e.g. geographic coordinates or address of the building, etc.) of the PNF
      version_dependency:
        type: list
        description: Identifies versions of descriptors of other constituents in the NSD upon which the PNF depends. The dependencies may be described for the PNFD referenced with descriptor_id  and for PNFDs with the same ext_invariant_id.
        required: false
        entry_schema: 
          type: tosca.datatypes.nfv.VersionDependency
      - virtual_link:
          capability: tosca.capabilities.nfv.VirtualLinkable
          relationship: tosca.relationships.nfv.VirtualLinksTo
          occurrences: [ 0, 1 ]
  # Additional requirements shall be defined in the PNF specific node type (deriving from tosca.nodes.nfv.PNF) corresponding to NS virtual links that need to connect to PnfExtCps

  tosca.nodes.nfv.PnfExtCp:
    derived_from: tosca.nodes.nfv.Cp
    description: node definition of PnfExtCp.
    requirements:
    - external_virtual_link:
        capability: tosca.capabilities.nfv.VirtualLinkable
        relationship: tosca.relationships.nfv.VirtualLinksTo
        occurrences: [0, 1]
admin_forge's avatar
admin_forge committed

policy_types:
  tosca.policies.nfv.PnfSecurityGroupRule:
    derived_from: tosca.policies.nfv.Abstract.SecurityGroupRule
    description: The PnfSecurityGroupRule type is a policy type specified the matching criteria for the ingress and/or egress traffic to/from visited PNF external connection points.
    targets: [ tosca.nodes.nfv.PnfExtCp ]