A.3 Solution Set (SS) definitions

28.6233GPPGeneric Network Resource Model (NRM) Integration Reference Point (IRP)Release 17Solution Set (SS) definitionsTelecommunication managementTS

A.3.1 IDL definition structure

Clause A.3.2 defines the types which are used by the Generic NRM IRP.

Clause A.3.3 defines the MO classes for the Generic NRM IRP.

A.3.2 IDL specification "GenericNetworkResourcesIRPSystem.idl"

//File: GenericNetworkResourcesIRPSystem.idl

#ifndef _GENERIC_NETWORK_RESOURCES_IRP_SYSTEM_IDL_

#define _GENERIC_NETWORK_RESOURCES_IRP_SYSTEM_IDL_

// This statement must appear after all include statements

#pragma prefix "3gppsa5.org"

module GenericNetworkResourcesIRPSystem

{

/**

* The format of Distinguished Name (DN) is specified in "Name Convention

* for Managed Objects (3GPP TS 32.300 [5])".

*/

typedef string DN;

/**

* This module adds datatype definitions for types

* used in the NRM which are not basic datatypes defined

* already in CORBA.

*/

module AttributeTypes

{

/**

* An MO reference refers to an MO instance.

* "otherMO" contains the distinguished name of the referred MO.

* A conceptual "null" reference (meaning no MO is referenced)

* is represented as an empty string ("").

*

*/

struct MOReference

{

DN otherMO;

};

/**

* MOReferenceSet represents a set of MO references.

* This type is used to hold 0..n MO references.

* A referred MO is not allowed to be repeated (therefore

* it is denoted as a "Set")

*/

typedef sequence<MOReference> MOReferenceSet;

/**

* A set of strings.

*/

typedef sequence<string> StringSet;

/**

* A set of long.

*/

typedef sequence<long> LongSet;

/*

* The LinkListSet represents the Link_X_Y objects (or subclasses of

* Link_X_Y objects) that have a relationship with this object instance.

* Each Link_X_Y object models interface(s) between objects of class X and

* Y. The object containing this attribute must either be a class of type X,

* Y, XFunction, YFunction or a subclass of one of those classes. The

* LinkListSet may be empty, or there may be no instances for a particular

* Link_X_Y class name.

*/

typedef MOReferenceSet LinkListSet;

/**

* VNFParameters includes several attributes of a VNF instance.

* The detailed definition of the attributes, see clause 4.4.1 of [4].

*/

struct VNFParameters

{

string vnfInstanceId;

string vnfdId;

string flavourId;

boolean autoScalable;

};

/**

* VNFParametersListType represents a list of VNFParameters.

* The detailed definition of vnfParametersListType, see clause 4.4.1 of [4].

*/

typedef sequence<VNFParameters> VNFParametersListType;

struct PEEParameters

{

string siteIdentification;

float siteLatitude;

float siteLongitude;

string siteDescription;

string equipmentType;

string environmentType;

string powerInterface;

};

/**

* PEEParametersListType represents a list of PEEParameters.

* The detailed definition of PEEParametersListType, see clause 4.4.1 of [4].

*/

typedef sequence<PEEParameters> PEEParametersListType;

typedef any ThresholdValueType;

enum Direction {INCREASING, DECREASING};

union HysteresisType switch(boolean)

{

case TRUE: long long_value;

case FALSE: float float_value;

};

struct ThresholdPackElement

{

ThresholdValueType thresholdValue;

short thresholdLevel;

HysteresisType hysteresis;

};

typedef sequence<ThresholdPackElement> ThresholdPackType;

struct ThresholdInfo

{

string measurementType;

Direction direction_;

ThresholdPackType thresholdPack;

};

typedef sequence<ThresholdInfo> ThresholdInfoListType;

};

/**

* This module adds datatype definitions for PM Control

*/

module PMControlTypes

{

Struct Measurements

{

measurementTypes StringSet,

gPs LongSet

};

typedef sequence <Measurements> Measurements;

enum PMAdministrativeStateType

{

LOCKED,

SHUTTINGDOWN,

UNLOCKED

};

enum PMOperationalStateType

{

ENABLED,

DISABLED

};

typedef MOReferenceSet ManagedObjectDNsType;

typedef MOReferenceSet ManagedObjectDNsBasicType;

typedef integer DefaultFileBasedGPType;

typedef integer DefaultFileReportPeriodType;

typedef string DefaultFileLocationType;

typedef integer DefaultStreamBasedGPType;

typedef string DefaultStreamTargetType;

typedef integer FileBasedGPType;

typedef integer FileReportingPeriodType;

typedef string FileLocationType;

typedef integer StreamBasedGPType;

typedef string StreamTargetType;

};

};

#endif // _GENERIC_NETWORK_RESOURCES_IRP_SYSTEM_IDL_

A.3.3 IDL specification "GenericNetworkResourcesNRMDefs.idl"

//File: GenericNetworkResourcesNRMDefs.idl

#ifndef _GENERIC_NETWORK_RESOURCES_NRM_DEFS_IDL_

#define _GENERIC_NETWORK_RESOURCES_NRM_DEFS_IDL_

// This statement must appear after all include statements

#pragma prefix "3gppsa5.org"

/**

* This module defines constants for each MO class name and

* the attribute names for each defined MO class.

*/

module GenericNetworkResourcesNRMDefs

{

/**

* Definitions for MO class Top

*/

interface Top

{

// Attribute Names

//

const string CLASS = "Top";

};

/**

* Definitions for MO class SubNetwork

*/

interface SubNetwork : Top

{

const string CLASS = "SubNetwork";

// Attribute Names

//

const string id = "id";

const string dnPrefix = "dnPrefix";

const string userLabel = "userLabel";

const string userDefinedNetworkType = "userDefinedNetworkType";

const string setOfMcc = "setOfMcc";

};

/**

* Definitions for MO class ManagedElement

*/

interface ManagedElement : Top

{

const string CLASS = "ManagedElement";

// Attribute Names

//

const string id = "id";

const string dnPrefix = "dnPrefix";

const string managedElementType = "managedElementType";

const string userLabel = "userLabel";

const string vendorName = "vendorName";

const string userDefinedState ="userDefinedState";

const string locationName ="locationName";

const string managedBy = "managedBy";

const string swVersion = "swVersion";

};

/**

* Definitions for MO class MeContext

*/

interface MeContext : Top

{

const string CLASS = "MeContext";

// Attribute Names

//

const string id = "id";

const string dnPrefix = "dnPrefix";

};

/**

* Definitions for MO class ManagementNode

*/

interface ManagementNode : Top

{

const string CLASS = "ManagementNode";

// Attribute Names

//

const string id = "id";

const string userLabel = "userLabel";

const string vendorName = "vendorName";

const string userDefinedState = "userDefinedState";

const string locationName = "locationName";

const string managedElements = "managedElements";

const string swVersion = "swVersion";

};

/**

* Definitions for abstract MO class ManagedFunction

*

*/

interface ManagedFunction : Top

{

const string CLASS = "ManagedFunction";

// Attribute Names

//

const string id = "id";

const string peeParametersList = "peeParametersList";

const string userLabel = "userLabel";

const string vnfParametersList = "vnfParametersList";

};

/**

* Definitions for MO class IRPAgent

*/

interface IRPAgent : Top

{

const string CLASS = "IRPAgent";

// Attribute Names

//

const string id = "id";

const string systemDN = "systemDN";

};

/**

* Definitions for abstract MO class Link

* This inherits from ManagedFunction

* The attributes aEnd and zEnd are populated with the DNs
* of the entities associated via the link class.
* The aEnd takes the DN of the 1st entity in alphabetical order,

* the zEnd takes the 2nd entity in alphabetical order of the class

* names.

*/

interface Link : ManagedFunction

{

const string CLASS = "Link";

// Attribute Names

//

const string aEnd = "aEnd";

const string zEnd = "zEnd";

const string linkType = "linkType";

const string protocolName = "protocolName";

const string protocolVersion = "protocolVersion";

};

/**

* Definitions for MO class VsDataContainer

*/

interface VsDataContainer : Top

{

const string CLASS = "VsDataContainer";

// Attribute Names

//

const string id = "id";

const string vsDataType = "vsDataType";

const string vsData = "vsData";

const string vsDataFormatVersion = "vsDataFormatVersion";

};

/**

* Definitions for abstract MO class EP_RP

*/

interface EP_RP : Top

{

const string CLASS = "EP_RP";

// Attribute Names

//

const string farEndEntity = "farEndEntity";

const string id = "id";

const string userLabel = "userLabel";

};

/**

* Definitions for MO class ThresholdMonitoringCapability

*/

interface ThresholdMonitoringCapability : Top

{

const string CLASS = "ThresholdMonitoringCapability";

// Attribute Names

//

const string supportedMonitoringGPs = "supportedMonitoringGPs";

};

/**

* Definitions for MO class ThresholdMonitor

*/

interface ThresholdMonitor : Top

{

const string CLASS = "ThresholdMonitor";

// Attribute Names

//

const string thresholdInfoList = "thresholdInfoList";

const string monitoringGP = "monitoringGP";

const string monitoringNotifTarget = "monitoringNotifTarget";

const string monitoredIOCName = "monitoredIOCName";

const string monitoredObjectDNs = "monitoredObjectDNs";

};

/**

* This module adds datatypes definitions for the Link Class

* These attributes are not the basic datatypes already defined

*/

module LinkAttributeTypes

{

enum LinkType

{

SIGNALLING,

BEARER,

OAM_AND_P,

OTHER

};

typedef sequence <LinkType> LinkTypeType;

};

};

#endif // _GENERIC_NETWORK_RESOURCES_NRM_DEFS_IDL_

Annex B (normative):
XML Definitions