A.2 IDL specification (file Name BulkCMIRPSystem.idl)

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

//File: BulkCMIRPSystem.idl

#ifndef _BULK_CM_IRP_SYSTEM_IDL_

#define _BULK_CM_IRP_SYSTEM_IDL_

#include <BulkCmIRPConstDefs.idl>

#include <ManagedGenericIRPConstDefs.idl>

#include <ManagedGenericIRPSystem.idl>

// This statement must appear after all include statements

#pragma prefix "3gppsa5.org"

/* ## Module: BulkCmIRPSystem

This module implements capabilities of Bulk CM IRP.

================================================================

*/

module BulkCmIRPSystem

{

/*

The request cannot be processed due to a situation of concurrency.

E.g. two concurrent activation requests involving the same ManagedElement

instance. The semantics carried in reason is outside the scope of this IRP.

*/

exception ConcurrencyException { string reason; };

/*

The provided filter is malformed or invalid. The semantics carried in reason

is outside the scope of this IRP.

*/

exception IllegalFilterFormatException { string reason; };

/*

The provided Distinguished Name is malformed or invalid. The semantics

carried in reason is outside the scope of this IRP.

*/

exception IllegalDNFormatException { string reason; };

/*

The provided scope type is illegal. The semantics carried in reason is

outside the scope of this IRP.

*/

exception IllegalScopeTypeException { string reason; };

/*

The provided scope level is illegal. The semantics carried in reason is

outside the scope of this IRP.

*/

exception IllegalScopeLevelException { string reason; };

/*

The request cannot be processed because no fallback data is available, i.e.

fallback capability was previously not asked for.

*/

exception NoFallbackException {};

/*

The provided sessionId value is already used for another configuration

session. The semantics carried in reason is outside the scope of this IRP.

*/

exception SessionIdInUseException { string reason; };

/*

The provided URL is malformed or invalid. The semantics carried in reason is

outside the scope of this IRP.

*/

exception IllegalURLFormatException{ string reason; };

/*

The provided sessionId value does not identify any existing configuration

session.

*/

exception UnknownSessionIdException {};

/*

The request cannot be processed because it is not valid in the current state

of the configuration session.

*/

exception NotValidInCurrentStateException

{

BulkCmIRPConstDefs::SessionState current_state;

};

/*

The request cannot be processed because the maximum number of simultaneously

running configuration sessions has been reached. The semantics carried in

reason is outside the scope of this IRP.

*/

exception MaxSessionReachedException { string reason; };

/*

The provided ActivationMode type is illegal. The semantics carried in reason

is outside the scope of this IRP.

*/

exception IllegalActivationModeException { string reason; };

/*

The provided VerificationMode type is illegal. The semantics carried in

reason is outside the scope of this IRP.

*/

exception IllegalVerificationModeException { string reason; };

/*

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 GetBulkCmIRPVersionsException { string reason; };

exception UploadException { string reason; };

exception DownloadException { string reason; };

exception ActivateException { string reason; };

exception ValidateException { string reason; };

exception PreactivateException { string reason; };

exception GetBulkCMIRPOperationProfileException { string reason; };

exception GetBulkCMIRPNotificationProfileException { string reason; };

exception GetSessionLogException { string reason; };

exception StartSessionException { string reason; };

exception GetSessionStatusException { string reason; };

exception FallbackException { string reason; };

exception EndSessionException { string reason; };

exception AbortSessionOperationException { string reason; };

exception GetSessionIdsException { string reason; };

/*

Defines the System interface of a EM. It defines all methods which are

necessary to control a configuration session from a IRPManager.

*/

interface BulkCmIRP

{

/*

Return the list of all supported Bulk CM IRP versions.

*/

ManagedGenericIRPConstDefs::VersionNumberSet get_bulk_cm_irp_versions (

)

raises (GetBulkCmIRPVersionsException);

/*

Return the list of all supported operations and their supported

parameters for a specific BulkCM IRP version.

*/

ManagedGenericIRPConstDefs::MethodList get_bulk_cm_irp_operation_profile (

in ManagedGenericIRPConstDefs::VersionNumber bulk_cm_irp_version

)

raises (GetBulkCMIRPOperationProfileException,

ManagedGenericIRPSystem::OperationNotSupported,

ManagedGenericIRPSystem::InvalidParameter);

/*

Return the list of all supported notifications and their supported

parameters for a specific BulkCM IRP version.

*/

ManagedGenericIRPConstDefs::MethodList

get_bulk_cm_irp_notification_profile

(

in ManagedGenericIRPConstDefs::VersionNumber bulk_cm_irp_version

)

raises (GetBulkCMIRPNotificationProfileException,

ManagedGenericIRPSystem::OperationNotSupported,

ManagedGenericIRPSystem::InvalidParameter);

/*

Uploads a configuration from the subnetwork. The result is put in a

configuration data file in an area specified by the IRPManager.

The MIB of the subnetwork is iterated by means of containment search,

using a SearchControl to control the search and the returned results.

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

In case of a concurrent running session the function will

return an exception. If the value of the given baseObject or Filter

does not exist then this asynchronous error condition will be notified.

*/

void upload (

in BulkCmIRPConstDefs::SessionId session_id,

in BulkCmIRPConstDefs::FileDestination sink,

in BulkCmIRPConstDefs::DistinguishedName base_object,

in BulkCmIRPConstDefs::SearchControl search_control

)

raises (UploadException, UnknownSessionIdException,

MaxSessionReachedException, NotValidInCurrentStateException,

ConcurrencyException,

IllegalDNFormatException, IllegalFilterFormatException,

IllegalScopeTypeException, IllegalScopeLevelException,

IllegalURLFormatException,

ManagedGenericIRPSystem::InvalidParameter);

/*

Indicates the EM that it can download a configuration data file from

a given configuration data file storage area. The EM will check the

consistence of the configuration data and the software compatibilty.

*/

void download (

in BulkCmIRPConstDefs::SessionId session_id,

in BulkCmIRPConstDefs::FileDestination source

)

raises (DownloadException, UnknownSessionIdException,

MaxSessionReachedException, NotValidInCurrentStateException,

IllegalURLFormatException,

ManagedGenericIRPSystem::InvalidParameter);

/*

Activates a previously downloaded and sucessfully parsed configuration

inside a session. This means that the configuration will be introduced

in the live sub-network. In case of a concurrent running session

the function will return an exception.

*/

void activate (

in BulkCmIRPConstDefs::SessionId session_id,

in BulkCmIRPConstDefs::ActivationModeTypeOpt activation_mode,

in boolean fallback

)

raises (ActivateException, UnknownSessionIdException,

NotValidInCurrentStateException, ConcurrencyException,

IllegalActivationModeException,

ManagedGenericIRPSystem::ParameterNotSupported,

ManagedGenericIRPSystem::InvalidParameter);

/*

Uploads a log from the subnetwork which is usally used for error

analysis. The log is put in a logfile in the filesystem which can

be accessed by the EM. If there are no log entries an empty log file

is uploaded.

*/

void get_session_log (

in BulkCmIRPConstDefs::FileDestination sink,

in BulkCmIRPConstDefs::SessionId session_id,

in boolean only_error_info

)

raises (GetSessionLogException, UnknownSessionIdException,

IllegalURLFormatException,

ManagedGenericIRPSystem::InvalidParameter);

/*

Creates an instance of the configuration session state machine. The

IDLE_PHASE & COMPLETED is notified

*/

void start_session (

in BulkCmIRPConstDefs::SessionId session_id

)

raises (StartSessionException, SessionIdInUseException,

MaxSessionReachedException,

ManagedGenericIRPSystem::InvalidParameter);

/*

Returns the state of a configuration session.

*/

BulkCmIRPConstDefs::SessionState get_session_status (

in BulkCmIRPConstDefs::SessionId session_id,

out BulkCmIRPConstDefs::ErrorInformation error_information

)

raises (GetSessionStatusException, UnknownSessionIdException,

ManagedGenericIRPSystem::InvalidParameter);

/*

Actives a fallback area. Each time a configuration is activated a

fallback area can be created, s. activate parameter.

This area is backup of the complete configuration which can be

restored by this method. The process is as follows:

1. When the method activate(…,…, TRUE) is used,

a copy of the valid area is taken before the activation

of the new planned data has started. Only one fallback area can

exists at a time for a specific scope of the subnetwork.

2. When a fallback area is avilable and triggered by this method, the

previous valid area is replaced with the data stored in

the fall back area.

If the EM detects that the former configuration has never been

changed it returns an exception because it does not trigger an

activation of the former data.

*/

void fallback (

in BulkCmIRPConstDefs::SessionId session_id

)

raises (FallbackException, UnknownSessionIdException, NoFallbackException,

NotValidInCurrentStateException, ConcurrencyException,

ManagedGenericIRPSystem::InvalidParameter);

/*

The IRPManager invokes this operation to delete all its temporary

entities and the related sessionId which belong to the scope of

a configuration session. This includes the related error and log

informationen too.

*/

void end_session (

in BulkCmIRPConstDefs::SessionId session_id

)

raises (EndSessionException, UnknownSessionIdException,

NotValidInCurrentStateException,

ManagedGenericIRPSystem::InvalidParameter);

/*

The IRPManager invokes this operation to abort an active operation

during a configuration session. It is only effecting

a configuration session in state IN_PROGRESS. In this case the

current session task is interrupted, e.g. the activating in progress,

using best effort strategy, and a state change is notified

*/

void abort_session_operation (

in BulkCmIRPConstDefs::SessionId session_id

)

raises (AbortSessionOperationException, UnknownSessionIdException,

NotValidInCurrentStateException,

ManagedGenericIRPSystem::InvalidParameter);

/*

Returns a list all sessionIds of current running configuration sessions.

*/

BulkCmIRPConstDefs::SessionIdList get_session_ids (

)

raises (GetSessionIdsException);

/*

Validates previously downloaded bulk configuration data inside a session.

Detects errors in the data prior to requesting preactivation or

activation.

*/

void validate (

in BulkCmIRPConstDefs::SessionId session_id,

in BulkCmIRPConstDefs::ActivationModeTypeOpt activation_mode

)

raises (ValidateException, UnknownSessionIdException,

NotValidInCurrentStateException, ConcurrencyException,

IllegalActivationModeException,

ManagedGenericIRPSystem::ParameterNotSupported,

ManagedGenericIRPSystem::InvalidParameter,

ManagedGenericIRPSystem::OperationNotSupported);

/*

Preactivates previously downloaded bulk configuration data inside a

session. This operation validates configuration data changes in the

context of the current data and pre-processes the configuration data

changes.

*/

void preactivate (

in BulkCmIRPConstDefs::SessionId session_id,

in BulkCmIRPConstDefs::VerificationModeTypeOpt verification_mode,

in BulkCmIRPConstDefs::ActivationModeTypeOpt activation_mode,

in boolean fallback

)

raises (PreactivateException, UnknownSessionIdException,

NotValidInCurrentStateException, ConcurrencyException,

IllegalActivationModeException, IllegalVerificationModeException,

ManagedGenericIRPSystem::ParameterNotSupported,

ManagedGenericIRPSystem::InvalidParameter,

ManagedGenericIRPSystem::OperationNotSupported);

};

};

module SimpleUploadBulkCMIRPSystem

{

exception GetSimpleUploadBulkCmIRPVersionsException { string reason; };

exception GetSimpleUploadBulkCMIRPOperationProfileException

{ string reason; };

exception GetSimpleUploadBulkCMIRPNotificationProfileException

{ string reason; };

interface SimpleUploadBulkCMIRP

{

/*

Return the list of all supported Bulk CM IRP versions.

*/

ManagedGenericIRPConstDefs::VersionNumberSet

get_simple_upload_bulk_cm_irp_versions (

)

raises (GetSimpleUploadBulkCmIRPVersionsException);

/*

Return the list of all supported operations and their supported

parameters for a specific BulkCM IRP version.

*/

ManagedGenericIRPConstDefs::MethodList

get_simple_upload_bulk_cm_irp_operation_profile (

in ManagedGenericIRPConstDefs::VersionNumber bulk_cm_irp_version

)

raises (GetSimpleUploadBulkCMIRPOperationProfileException,

ManagedGenericIRPSystem::OperationNotSupported,

ManagedGenericIRPSystem::InvalidParameter);

/*

Return the list of all supported notifications and their supported

parameters for a specific BulkCM IRP version.

*/

ManagedGenericIRPConstDefs::MethodList

get_simple_upload_bulk_cm_irp_notification_profile

(

in ManagedGenericIRPConstDefs::VersionNumber bulk_cm_irp_version

)

raises (GetSimpleUploadBulkCMIRPNotificationProfileException,

ManagedGenericIRPSystem::OperationNotSupported,

ManagedGenericIRPSystem::InvalidParameter);

/*

Uploads a configuration from the subnetwork. The result is put in a

configuration data file in an area specified by the IRPManager.

The MIB of the subnetwork is iterated by means of containment search,

using a SearchControl to control the search and the returned results.

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

In case of a concurrent running session the function will

return an exception. If the value of the given baseObject or Filter

does not exist then this asynchronous error condition will be notified.

*/

void upload (

in BulkCmIRPConstDefs::SessionId session_id,

in BulkCmIRPConstDefs::FileDestination sink,

in BulkCmIRPConstDefs::DistinguishedName base_object,

in BulkCmIRPConstDefs::SearchControl search_control

)

raises (

BulkCmIRPSystem::UploadException,

BulkCmIRPSystem::UnknownSessionIdException,

BulkCmIRPSystem::MaxSessionReachedException,

BulkCmIRPSystem::NotValidInCurrentStateException,

BulkCmIRPSystem::ConcurrencyException,

BulkCmIRPSystem::IllegalDNFormatException,

BulkCmIRPSystem::IllegalFilterFormatException,

BulkCmIRPSystem::IllegalScopeTypeException,

BulkCmIRPSystem::IllegalScopeLevelException,

BulkCmIRPSystem::IllegalURLFormatException,

ManagedGenericIRPSystem::InvalidParameter);

};

}; // end of module SimpleUploadBulkCMIRPSystem

module ControlledUploadBulkCMIRPSystem

{

exception GetControlledUploadBulkCmIRPVersionsException { string reason; };

exception GetControlledUploadBulkCMIRPOperationProfileException

{ string reason; };

exception GetControlledUploadBulkCMIRPNotificationProfileException

{ string reason; };

interface ControlledUploadBulkCMIRP

{

/*

Return the list of all supported Bulk CM IRP versions.

*/

ManagedGenericIRPConstDefs::VersionNumberSet

get_controlled_upload_bulk_cm_irp_versions (

)

raises (GetControlledUploadBulkCmIRPVersionsException);

/*

Return the list of all supported operations and their supported

parameters for a specific BulkCM IRP version.

*/

ManagedGenericIRPConstDefs::MethodList

get_controlled_upload_bulk_cm_irp_operation_profile (

in ManagedGenericIRPConstDefs::VersionNumber bulk_cm_irp_version

)

raises (GetControlledUploadBulkCMIRPOperationProfileException,

ManagedGenericIRPSystem::OperationNotSupported,

ManagedGenericIRPSystem::InvalidParameter);

/*

Return the list of all supported notifications and their supported

parameters for a specific BulkCM IRP version.

*/

ManagedGenericIRPConstDefs::MethodList

get_controlled_upload_bulk_cm_irp_notification_profile (

in ManagedGenericIRPConstDefs::VersionNumber bulk_cm_irp_version

)

raises (GetControlledUploadBulkCMIRPNotificationProfileException,

ManagedGenericIRPSystem::OperationNotSupported,

ManagedGenericIRPSystem::InvalidParameter);

/*

Uploads a configuration from the subnetwork. The result is put in a

configuration data file in an area specified by the IRPManager.

The MIB of the subnetwork is iterated by means of containment search,

using a SearchControl to control the search and the returned results.

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

In case of a concurrent running session the function will

return an exception. If the value of the given baseObject or Filter

does not exist then this asynchronous error condition will be notified.

*/

void upload (

in BulkCmIRPConstDefs::SessionId session_id,

in BulkCmIRPConstDefs::FileDestination sink,

in BulkCmIRPConstDefs::DistinguishedName base_object,

in BulkCmIRPConstDefs::SearchControl search_control

)

raises (

BulkCmIRPSystem::UploadException,

BulkCmIRPSystem::UnknownSessionIdException,

BulkCmIRPSystem::MaxSessionReachedException,

BulkCmIRPSystem::NotValidInCurrentStateException,

BulkCmIRPSystem::ConcurrencyException,

BulkCmIRPSystem::IllegalDNFormatException,

BulkCmIRPSystem::IllegalFilterFormatException,

BulkCmIRPSystem::IllegalScopeTypeException,

BulkCmIRPSystem::IllegalScopeLevelException,

BulkCmIRPSystem::IllegalURLFormatException,

ManagedGenericIRPSystem::InvalidParameter);

/*

Uploads a log from the subnetwork which is usally used for error

analysis. The log is put in a logfile in the filesystem which can

be accessed by the EM. If there are no log entries an empty log file

is uploaded.

*/

void get_session_log (

in BulkCmIRPConstDefs::FileDestination sink,

in BulkCmIRPConstDefs::SessionId session_id,

in boolean only_error_info

)

raises (

BulkCmIRPSystem::GetSessionLogException,

BulkCmIRPSystem::UnknownSessionIdException,

BulkCmIRPSystem::IllegalURLFormatException,

ManagedGenericIRPSystem::InvalidParameter);

/*

Creates an instance of the configuration session state machine. The

IDLE_PHASE & COMPLETED is notified

*/

void start_session (

in BulkCmIRPConstDefs::SessionId session_id

)

raises (

BulkCmIRPSystem::StartSessionException,

BulkCmIRPSystem::SessionIdInUseException,

BulkCmIRPSystem::MaxSessionReachedException,

ManagedGenericIRPSystem::InvalidParameter);

/*

Returns the state of a configuration session.

*/

BulkCmIRPConstDefs::SessionState get_session_status (

in BulkCmIRPConstDefs::SessionId session_id,

out BulkCmIRPConstDefs::ErrorInformation error_information

)

raises (

BulkCmIRPSystem::GetSessionStatusException,

BulkCmIRPSystem::UnknownSessionIdException,

ManagedGenericIRPSystem::InvalidParameter);

/*

The IRPManager invokes this operation to delete all its temporary

entities and the related sessionId which belong to the scope of

a configuration session. This includes the related error and log

informationen too.

*/

void end_session (

in BulkCmIRPConstDefs::SessionId session_id

)

raises (

BulkCmIRPSystem::EndSessionException,

BulkCmIRPSystem::UnknownSessionIdException,

BulkCmIRPSystem::NotValidInCurrentStateException,

ManagedGenericIRPSystem::InvalidParameter);

/*

The IRPManager invokes this operation to abort an active operation

during a configuration session. It is only effecting

a configuration session in state IN_PROGRESS. In this case the

current session task is interrupted, e.g. the activating in progress,

using best effort strategy, and a state change is notified

*/

void abort_session_operation (

in BulkCmIRPConstDefs::SessionId session_id

)

raises (

BulkCmIRPSystem::AbortSessionOperationException,

BulkCmIRPSystem::UnknownSessionIdException,

BulkCmIRPSystem::NotValidInCurrentStateException,

ManagedGenericIRPSystem::InvalidParameter);

/*

Returns a list all sessionIds of current running configuration sessions.

*/

BulkCmIRPConstDefs::SessionIdList get_session_ids (

)

raises (

BulkCmIRPSystem::GetSessionIdsException);

};

}; // end of module ControlledUploadBulkCMIRPSystem

#endif // _BULK_CM_IRP_SYSTEM_IDL_