A.2 IDL specification (file name "BasicCMIRPSystem.idl")

32.6033GPPBasic CM Integration Reference Point (IRP)Common Object Request Broker Architecture (CORBA) Solution Set (SS)Configuration Management (CM)Release 9Telecommunication managementTS

//File: BasicCMIRPSystem.idl

#ifndef _BASIC_CM_IRP_SYSTEM_IDL_

#define _BASIC_CM_IRP_SYSTEM_IDL_

#include <GenericIRPManagementSystem.idl>

#include <GenericIRPManagementConstDefs.idl>

#include <BasicCMIRPConstDefs.idl>

// This statement must appear after all include statements

#pragma prefix "3gppsa5.org"

module BasicCmIRPSystem

{

exception IllegalFilterFormatException {

string reason;

};

exception IllegalDNFormatException {

string reason;

};

exception IllegalScopeTypeException {

string reason;

};

exception IllegalScopeLevelException {

string reason;

};

exception UndefinedMOException {

string reason;

};

exception UndefinedScopeException {

string reason;

};

exception FilterComplexityLimit {

string reason;

};

exception DuplicateMO {};

exception CreateNotAllowed {};

exception ObjectClassMismatch {};

exception NoSuchObjectClass {

BasicCMIRPConstDefs::MOClass objectClass;

};

exception ParentObjectDoesNotExist {};

/**

* System otherwise fails to complete the operation. System can provide

* reason to qualify the exception. The semantics carried in reason

* is outside the scope of this IRP.

*/

exception NextBasicCmInformations { string reason; };

exception NextDeleteErrors { string reason; };

exception NextModifyErrors { string reason; };

exception DestroyException { string reason; };

exception GetBasicCmIRPVersion { string reason; };

exception GetBasicCmIRPOperationProfile { string reason; };

exception GetBasicCmIRPNotificationProfile { string reason; };

exception FindManagedObjects { string reason; };

exception CreateManagedObject { string reason; };

exception DeleteManagedObjects { string reason; };

exception ModifyManagedObjects { string reason; };

/**

The BasicCmInformationIterator is used to iterate through a snapshot of

Managed Object Information when IRPManager invokes find_managed_objects.

IRPManager uses it to pace the return of Managed Object Information.

IRPAgent controls the life-cycle of the iterator. However, a destroy

operation is provided to handle the case where IRPManager wants to stop

the iteration procedure before reaching the last iteration.

*/

interface BasicCmInformationIterator

{

/**

This method returns between 1 and "how_many" Managed Object information.

The IRPAgent may return less than "how_many" items even if there are

more items to return. "how_many" must be non-zero. Return TRUE if there

may be more Managed Object information to return. Return FALSE if there

are no more Managed Object information to be returned.

If FALSE is returned, the IRPAgent will automatically destroy the

iterator.

@parm how_many how many elements to return in the "fetched_elements" out

parameter.

@parm fetched_elements the elements.

@returns A boolean indicating if any elements are returned.

"fetched_elements" is empty when the BasicCmInformationIterator is

empty.

*/

boolean next_basic_cm_informations (

in unsigned short how_many,

out BasicCMIRPConstDefs::ResultSet fetched_elements

)

raises (

NextBasicCmInformations,

GenericIRPManagementSystem::InvalidParameter,

GenericIRPManagementSystem::OperationNotSupported);

/**

This method destroys the iterator.

*/

void destroy ()

raises (

DestroyException,

GenericIRPManagementSystem::OperationNotSupported);

}; // end of BasicCmInformationIterator

/**

The DeleteResultIterator is used to iterate through the list of deleted MOs

when IRPManager invokes method "delete_managed_objects".

IRPManager uses it to pace the return of Managed Object Information.

IRPAgent controls the life-cycle of the iterator. However, a destroy

operation is provided to handle the case where IRPManager wants to stop

the iteration procedure before reaching the last iteration.

*/

interface DeleteResultIterator : BasicCmInformationIterator

{

/**

Inherited method "next_basic_cm_informations" has the same behaviour as

for interface BasicCmInformationIterator, except that:

– The Managed Object information returned in parameter

"fetched_elements" contains only the DNs of the deleted MOs

(no attributes are returned).

– If FALSE is returned, the IRPAgent will not automatically destroy the

iterator.

*/

/**

This method returns between 0 and "how_many" deletion errors. The

IRPAgent may return less than "how_many" items even if there are more

items to return. "how_many" must be non-zero. Return TRUE if there are

more deletion errors to return. Return FALSE if there are no more

deletion errors to be returned.

If FALSE is returned and last call to inherited method

"next_basic_cm_informations" also returned FALSE (i.e. no more Managed

Object information to be returned), the IRPAgent will automatically

destroy the iterator.

@parm how_many: how many deletion errors to return in the

"fetched_delete_errors" out parameter.

@parm fetched_delete_errors: the deletion errors.

@returns: a boolean indicating if any deletion errors are returned.

*/

boolean next_delete_errors (

in unsigned short how_many,

out BasicCMIRPConstDefs::DeleteErrorSeq fetched_delete_errors

)

raises (

NextDeleteErrors,

GenericIRPManagementSystem::InvalidParameter);

}; // end of DeleteResultIterator

/**

The ModifyResultIterator is used to iterate through the list of modified

MOs when IRPManager invokes method "modify_managed_objects".

IRPManager uses it to pace the return of Managed Object Information.

IRPAgent controls the life-cycle of the iterator. However, a destroy

operation is provided to handle the case where IRPManager wants to stop

the iteration procedure before reaching the last iteration.

*/

interface ModifyResultIterator : BasicCmInformationIterator

{

/**

Inherited method "next_basic_cm_informations" has the same behaviour as

for interface BasicCmInformationIterator, except that:

– The Managed Object information returned in parameter

"fetched_elements" contains DNs and attributes of the modified MOs.

– If FALSE is returned, the IRPAgent will not automatically destroy the

iterator.

*/

/**

This method returns between 0 and "how_many" modification errors. The

IRPAgent may return less than "how_many" items even if there are more

items to return. "how_many" must be non-zero. Return TRUE if there are

more modification errors to return. Return FALSE if there are no more

modification errors to be returned.

If FALSE is returned and last call to inherited method

"next_basic_cm_informations" also returned FALSE (i.e. no more Managed

Object information to be returned), the IRPAgent will automatically

destroy the iterator.

@parm how_many: how many modification errors to return in the

"fetched_modify_errors" out parameter.

@parm fetched_modify_errors: the modification errors.

@returns: a boolean indicating if any modification errors are returned.

*/

boolean next_modification_errors (

in unsigned short how_many,

out BasicCMIRPConstDefs::ModifyAttributeErrorsSeq

fetched_modify_errors

)

raises (

NextModifyErrors,

GenericIRPManagementSystem::InvalidParameter);

}; // end of ModifyResultIterator

/**

* The BasicCmIrpOperations interface.

* Supports a number of Resource Model versions.

*/

interface BasicCmIrpOperations : GenericIRPManagementSystem::

GenericIRPManagement

{

/**

* Performs a containment search, using a SearchControl to

* control the search and the returned results.

*

* All MOs in the scope constitute a set that the filter works on.

* The result BasicCmInformationIterator contains all matched MOs,

* with the amount of detail specified in the SearchControl.

* For the special case when no managed objects are matched in

* find_managed_objects, the BasicCmInformationIterator will be returned.

* Executing the next_basicCmInformations in the

* BasicCmInformationIterator will return FALSE for

* completion.

*

* @parm base_object The start MO in the containment tree.

* @parm search_control the SearchControl to use.

* @parm requested_attributes defines which attributes to get.

* If this parameter is empty (""), all attributes shall

* be returned. In this version this is the only supported semantics.

* Note that this argument is only

* relevant if ResultContents in the search control is

* specifed to NAMES_AND_ATTRIBUTES.

*

* @raises GenericIRPManagementSystem::ValueNotSupported if a valid but

* unsupported parameter value is passed. E.g. the contents

* field in the searchcontrol parameter contains the value NAMES and

* the optional getContainment IS operation is not supported.

* @raises UndefinedMOException The MO does not exist.

* @raises IllegalDNFormatException The dn syntax string is

* malformed.

* @raises IllegalScopeTypeException The ScopeType in scope contains

* an illegal value.

* @raises IllegalScopeLevelException The scope level is negative

* (<0).

* @raises IllegalFilterFormatException The filter string is

* malformed.

* @raises FilterComplexityLimit if the filter syntax is correct,

* but the filter is too complex to be processed by the IRPAgent.

* @see SearchControl

* @see BasicCmInformationIterator

*/

BasicCmInformationIterator find_managed_objects(

in GenericIRPManagementConstDefs::DN base_object,

in BasicCMIRPConstDefs::SearchControl search_control,

in BasicCMIRPConstDefs::AttributeNameSet requested_attributes)

raises (

FindManagedObjects,

GenericIRPManagementSystem::ParameterNotSupported,

GenericIRPManagementSystem::InvalidParameter,

GenericIRPManagementSystem::ValueNotSupported,

GenericIRPManagementSystem::OperationNotSupported,

UndefinedMOException,

IllegalDNFormatException,

UndefinedScopeException,

IllegalScopeTypeException,

IllegalScopeLevelException,

IllegalFilterFormatException,

FilterComplexityLimit);

/**

* Performs the creation of a MO instance in the MIB maintained

* by the IRPAgent.

*

* @parm object_name: the distinguished name of the MO to create.

* @parm reference_object: the distinguished name of a reference MO.

* @parm attributes: in input, initial attribute values for the MO to

* create; in output, actual attribute values of the created MO.

* @parm attribute_errors: errors, related to attributes, that caused the

* creation of the MO to fail.

*

* @raises GenericIRPManagementSystem::OperationNotSupported: The operation

* is not supported.

* @raises GenericIRPManagementSystem::ParameterNotSupported: An optional

* parameter is not supported.

* @raises GenericIRPManagementSystem::InvalidParameter: An invalid

* parameter value has been provided.

* @raises UndefinedMOException: The MO does not exist.

* @raises IllegalDNFormatException: The DN syntax string is malformed.

* @raises DuplicateMO: A MO already exist with the same DN as the one

* to create.

* @raises CreateNotAllowed: The creation of the MO is not allowed.

* @raises ObjectClassMismatch: The object class of the MO to create does

* not match with the object class of the provided reference MO.

* @raises NoSuchObjectClass: The class of the object to create is not

* recognized.

* @raises ParentObjectDoesNotExist: The parent MO instance of the

* ManagedEntity specified to be created does not exist.

*/

void create_managed_object (

in GenericIRPManagementConstDefs::DN object_name,

in GenericIRPManagementConstDefs::DN reference_object,

inout GenericIRPManagementConstDefs::MOAttributeSet attributes,

out BasicCMIRPConstDefs::AttributeErrorSeq attribute_errors

)

raises (

CreateManagedObject,

GenericIRPManagementSystem::OperationNotSupported,

GenericIRPManagementSystem::ParameterNotSupported,

GenericIRPManagementSystem::InvalidParameter,

UndefinedMOException,

IllegalDNFormatException,

DuplicateMO,

CreateNotAllowed,

ObjectClassMismatch,

NoSuchObjectClass,

ParentObjectDoesNotExist);

/**

* Performs the deletion of one or more MO instances from the MIB

* maintained by the IRPAgent, using a SearchControl to control the

* instances to be deleted.

*

* All MOs in the scope constitute a set that the filter works on.

* All matched MOs will be deleted by this operation.

* The returned DeleteResultIterator is used to retrieve the DNs of the

* MOs deleted and the errors that may have occurred preventing deletion

* of some MOs.

* For the special case when no managed objects are matched in

* delete_managed_objects, the DeleteResultIterator will be returned.

* Executing the next_basicCmInformations in the DeleteResultIterator

* will return FALSE for completion.

*

* @parm base_object: the start MO in the containment tree.

* @parm search_control: the SearchControl to use; field "contents" has no

* meaning here and shall be ignored.

* @returns: a DeleteResultIterator (see above).

*

* @raises GenericIRPManagementSystem::OperationNotSupported: The operation

* is not supported.

* @raises GenericIRPManagementSystem::InvalidParameter: An invalid

* parameter value has been provided.

* @raises UndefinedMOException: The MO does not exist.

* @raises IllegalDNFormatException: The DN syntax string is malformed.

* @raises IllegalScopeTypeException: The ScopeType in scope contains

* an illegal value.

* @raises IllegalScopeLevelException: The scope level is negative (<0).

* @raises IllegalFilterFormatException: The filter string is malformed.

* @raises FilterComplexityLimit: The filter syntax is correct,

* but the filter is too complex to be processed by the IRPAgent.

*/

DeleteResultIterator delete_managed_objects (

in GenericIRPManagementConstDefs::DN base_object,

in BasicCMIRPConstDefs::SearchControl search_control

)

raises (

DeleteManagedObjects,

GenericIRPManagementSystem::OperationNotSupported,

GenericIRPManagementSystem::InvalidParameter,

UndefinedMOException,

IllegalDNFormatException,

UndefinedScopeException,

IllegalScopeTypeException,

IllegalScopeLevelException,

IllegalFilterFormatException,

FilterComplexityLimit);

/**

* Performs the modification of MO attributes. One or more MOs attributes

* may be modified according to a SearchControl.

*

* All MOs in the scope constitute a set that the filter works on.

* All matched MOs will have their attributes modified by this operation.

* The returned ModifyResultIterator is used to retrieve the DNs of the

* modified MOs together with the values of the modified attributes, and

* the errors that may have occurred preventing modification of some

* attributes.

* For the special case when no managed objects are matched in

* modify_managed_objects, the ModifyResultIterator will be returned.

* Executing the next_basicCmInformations in the ModifyResultIterator

* will return FALSE for completion.

*

* @parm base_object: the start MO in the containment tree.

* @parm search_control: the SearchControl to use; field "contents" has no

* meaning here and shall be ignored.

* @parm modifications: the values for the attributes to modify and

* the way those values are to be applied to the attributes.

* @returns: a ModifyResultIterator (see above).

*

* @raises GenericIRPManagementSystem::OperationNotSupported: The operation

* is not supported

* @raises GenericIRPManagementSystem::InvalidParameter: An invalid

* parameter value has been provided

* @raises UndefinedMOException: The MO does not exist.

* @raises IllegalDNFormatException: The DN syntax string is malformed.

* @raises IllegalScopeTypeException: The ScopeType in scope contains

* an illegal value.

* @raises IllegalScopeLevelException: The scope level is negative (<0).

* @raises IllegalFilterFormatException: The filter string is malformed.

* @raises FilterComplexityLimit: The filter syntax is correct,

* but the filter is too complex to be processed by the IRPAgent.

*/

ModifyResultIterator modify_managed_objects (

in GenericIRPManagementConstDefs::DN base_object,

in BasicCMIRPConstDefs::SearchControl search_control,

in BasicCMIRPConstDefs::AttributeModificationSet modifications

)

raises (

ModifyManagedObjects,

GenericIRPManagementSystem::OperationNotSupported,

GenericIRPManagementSystem::InvalidParameter,

UndefinedMOException,

IllegalDNFormatException,

UndefinedScopeException,

IllegalScopeTypeException,

IllegalScopeLevelException,

IllegalFilterFormatException,

FilterComplexityLimit);

};

};

#endif // _BASIC_CM_IRP_SYSTEM_IDL_

Annex B (informative):
Change history

Change history

Date

TSG #

TSG Doc.

CR

Rev

Subject/Comment

Cat

Old

New

Jun 2001

S_12

SP-010283

Approved at TSG SA #12 and placed under Change Control

2.0.0

4.0.0

Sep 2001

S_13

SP-010476

0001

Correction of invokeIdentifier usage

F

4.0.0

4.1.0

Mar 2002

S_15

SP-020019

0002

Correction of erroneous CORBA module names and mapping tables

F

4.1.0

4.2.0

Mar 2002

S_15

SP-020019

0003

Corrections to Basic CM IRP CORBA Solution Set IDLs

F

4.1.0

4.2.0

Mar 2002

S_15

SP-020038

0004

Addition of missing CORBA exception "ManagedGenericIRPSystem::ValueNotSupported" onto CORBA method "find_managed_objects"

F

4.1.0

4.2.0

Jun 2002

S_16

SP-020294

0005

Correcting IDL definitions of notification structured event Name Value pair names

F

4.2.0

4.3.0

Jul 2002

Updated the Version number (420->431) and the Date on the cover page

4.3.0

4.3.1

Sep 2002

S_17

SP-020483

0006

Add Active Basic CM feature – CORBA Solution Set

B

4.3.1

5.0.0

Mar 2003

S_19

SP-030139

0007

Add CORBA equivalents to IS operations "get{Operation Notification}Profile" – alignment with 32.602 & 32.312

F

5.0.0

5.1.0

Mar 2003

S_19

SP-030139

0008

Correction of IDL errors

F

5.0.0

5.1.0

Mar 2003

S_19

SP-030144

0009

Add description for notifications of each activeCM operation and one exception for createMO – alignment with 32.602, Information Service

F

5.0.0

5.1.0

Jun 2003

S_20

SP-030279

0010

Alignment with Basic CM IRP information service (32.602) – add one exception for the operation createMO

F

5.1.0

5.2.0

Mar 2004

S_23

SP-040105

Automatic upgrade to Rel-6 (no CR)

5.2.0

6.0.0

Sep 2004

S_25

SP-040567

0012

Removal of Rules for NRM extensions – Align with 32.622 (Generic NRM IS)

A

6.0.0

6.1.0

Sep 2004

S_25

SP-040566

0014

Removal of unused/duplicate definition of types MOReference and MOReferenceSet

A

6.0.0

6.1.0

Dec 2004

S_26

SP-040806

0015

Align the IDL style in the CORBA SS with the IDL Style Guide in 32.150

F

6.1.0

6.2.0

Mar 2005

S_27

SP-050044

0016

IDL incompliant to the style guide

F

6.2.0

6.3.0

Mar 2005

S_27

SP-050044

0017

Generic System Context, update of reference to IS specification

F

6.2.0

6.3.0

Apr 2005

Changed back TS Title from Bulk (v630) to Basic (620); erroneously changed with corrupted TS cover.

6.3.0

6.3.1

Sep 2005

SA_29

SP-050461

0018

Align the CORBA SS IDL with TS 32.150 Style Guide

F

6.3.1

6.4.0

Jun 2007

SA_36

Automatic upgrade to Rel-7 (no CR) at freeze of Rel-7. Deleted reference to CMIP SS, discontinued from R7 onwards.

6.1.0

7.0.0

Dec 2008

SA_42

Upgrade to Release 8

7.0.0

8.0.0

Dec 2009

SA_46

SP-090718

0020

Increase the linked IS version by the CR for IS to clarify scope parameters for getMoAttributes operation

F

8.0.0

8.1.0

Dec 2009

SA_46

SP-090719

0019

Use the inherited ManagedGenericIRP methods

F

8.1.0

9.0.0

Sep 2010

SA_49

SP-100488

0021

Correct the data type ‘MOAttributeName’ in IDL specification

F

9.0.0

9.1.0