cc/td/doc/product/rtrmgmt/bacbba/bacbba25
hometocprevnextglossaryfeedbacksearchhelp
PDF

Table of Contents

ProfileAdmin.idl
Interface List
Module ProfileAdmin
Interface ProfileMgr

ProfileAdmin.idl


Interface List

The file ProfileAdmin.idl contains the following interface:

ProfileAdmin::ProfileMgr

Module ProfileAdmin

The ProfileAdmin module provides an interfaces that allows users to create, delete, get, and modify groups and profiles.

Data Structures and Types

NVPairSeq User Defined Type

Usage
typedef CommonDefinition::NVPairSeq NVPairSeq

Profile Structure

The Profile structure represents either a service, provision, or task profile.

Usage
struct Profile
{
string profile_id;
ProfileType profile_type;
string content;
};
Members

profile_id—a string that uniquely identifies a profile

profile_type—the profile type; currently, SERVICE, PROVISION and TASK profiles are supported

content—the XML-encoded string

Description

Each profile is uniquely identified by a profile_id. The content of each profile is an XML-encoded string. The profile type would determine the syntax of that XML string.

ProfileHeader Structure

The ProfileHeader structure contains the header information of the Profile structure.

Usage
struct ProfileHeader
{
string profile_id;
ProfileType profile_type;
};
Members

profile_id—a string that uniquely identifies a profile.

profile_type—the profile type; currently BAC supports SERVICE, PROVISION and TASK profiles.

Description

This structure is essentially the same as Profile structure, but it does not contain the content attribute. It allows for fast retrieval of profile information.

ProfileHeaderSeq User Defined Type

The ProfileHeaderSeq structure represents a list of ProfileHeader structures.

Usage
typedef sequence<ProfileHeader> ProfileHeaderSeq

ProfileType Enumerated Type

Usage
enum ProfileType
{
SERVICE,
PROVISION,
TASK
};

ResultInfo User Defined Type

Usage
typedef CommonDefinition::ResultInfo ResultInfo

SecurityToken User Defined Type

Usage
typedef SecurityService::SecurityToken SecurityToken

StringSeq User Defined Type

Usage
typedef CommonDefinition::StringSeq StringSeq

Interface ProfileMgr

Conceptually, profiles are organized into a hierarchy similar to the UNIX file system. At the top of the hierarchy (tree) is the root node (a conceptual group which contains all other groups and/or profiles). A group can contain either sub-groups and/or profiles. Profiles are leaf nodes. In the file system analogy, the profiles are files and groups are directories.

The full path of a group/profile delineates the actual path starting from the root that will lead to the group or profile under consideration. For example, if we have a group grp1 under root, and a subgroup grp11 under grp1 and a profile pf1 under grp11 then the full path of pf1 is "/grp1/grp11/pf1". Full path of root group is "/".

The ProfileMgr interface provides IDL operations which allow the manipulation of these profiles.

Operations

associate()

Associates a service profile (sourceProfilePath) to a list of provision profiles (assoc_profiles_path).

Usage
ResultInfo associate(
in SecurityToken security_token,
in string source_profile_id,
in StringSeq assoc_profiles_path);
Parameters

source_profile_id—profile path of the source

assoc_profiles_path—list of profile's paths to be associated with the source_profile_id

Returns

ResultInfo—result information structure which indicates the result of the call. If successful, the return code is CCNSC_OK; otherwise, the return code will be one of the error code defined in the spm_errors.idl file.

Raises

This API does not raise any exception.

Description

Only service profile is allowed to associate with provision profiles. The operation is either success to associate all profiles or failure in which no partial association occurred. If an association already existed, the operation will ignore that, only new ones are added.

create_group()

Creates a new group that can contain profiles or sub-groups.

Usage
ResultInfo create_group(
in SecurityToken security_token,
in string group_path);
Parameters

group_path—full path name of the group

Returns

ResultInfo—result information structure which indicates the result of the call. If successful, the return code is CCNSC_OK; otherwise, the return code will be one of the error code defined in the spm_errors.idl file.

Raises

This API does not raise any exception.

create_profile()

Creates a new profile.

Usage
ResultInfo create_profile(
in SecurityToken security_token,
in Profile pf);
Parameters

pf—a profile object

Returns

ResultInfo—result information structure which indicates the result of the call. If successful, the return code is CCNSC_OK; otherwise, the return code will be one of the error code defined in the spm_errors.idl file.

Raises

This API does not raise any exception.

Description

The input argument pf is a structure whose members are profile_id : full path of the new profile profile_type : Type of profile (service / provision etc.) content : xml coded profile content within a group, profile id is unique.

de_associate()

Deassociates a set of profiles assocProfilesPath from the sourceProfilePath.

Usage
ResultInfo de_associate(
in SecurityToken security_token,
in string source_profile_id,
in StringSeq assoc_profiles_path);
Parameters

source_profile_id—profile path to the source

assoc_profiles_path—list of profile's paths to be de-associated

Returns

ResultInfo—result information structure which indicates the result of the call. If successful, the return code is CCNSC_OK; otherwise, the return code will be one of the error code defined in the spm_errors.idl file.

Raises

This API does not raise any exception.

Description

Note: this operation only removes the association relations between the source and the profiles in the assocProfilesPath, but it does not remove the profiles.

delete_group()

Deletes the group group_path (full path).

Usage
ResultInfo delete_group(
in SecurityToken security_token,
in string group_path,
in boolean delete_children_flag);
Parameters

group_path—full path name of the group to be deleted

delete_children_flag— if true, then recursively deletes all chidlren; if false, then deletes the group only if it is empty

Returns

ResultInfo—result information structure which indicates the result of the call. If successful, the return code is CCNSC_OK; otherwise, the return code will be one of the error code defined in the spm_errors.idl file.

Raises

This API does not raise any exception.

Description

If the argument delete_children_flag == TRUE, then delete the children of the group (for example the sub-groups and profiles under it) first and then delete the group it self. Else delete the group group_path only if it is a leaf nodefor example has no children.

delete_profile()

This API first removes all association in which this profile is involved then deletes the profile identified by the full path profilePath argument.

Usage
ResultInfo delete_profile(
in SecurityToken security_token,
in string profile_path);
Parameters

profile_path—full path name of the profile

Returns

ResultInfo—result information structure which indicates the result of the call. If successful, the return code is CCNSC_OK; otherwise, the return code will be one of the error code defined in the spm_errors.idl file.

Raises

This API does not raise any exception.

get_associated_profiles()

Returns the set of profiles associated with the profile identified by the profilePath.

Usage
ResultInfo get_associated_profiles(
in SecurityToken security_token,
in string profile_id,
out StringSeq assoc_profiles_path);
Parameters

profile_id—profile path

assoc_profiles_path—list of profile's paths associated with the profile

Returns

ResultInfo—result information structure which indicates the result of the call. If successful, the return code is CCNSC_OK; otherwise, the return code will be one of the error code defined in the spm_errors.idl file.

Raises

This API does not raise any exception.

Description

If no associated profile is found, then the returned sequence will be empty.

get_profile()

Retrieves the content and profile type of the profile identified by the input argument profilePath (full path).

Usage
ResultInfo get_profile(
in SecurityToken security_token,
in string profile_id,
out Profile pf);
Parameters

profile_id—a string that uniquely itendifies a profile

pf—returned profile object

Returns

ResultInfo—result info structure which indicates the result of the call. If successful, the return code is CCNSC_OK; otherwise the return code will be one of the error code defined in the spm_errors.idl file.

Raises

This API does not raise any exception.

get_profile_list()

Lists all profile header information within a group identified by the full path group_path.

Usage
ResultInfo get_profile_list(
in SecurityToken security_token,
in string group_path,
out ProfileHeaderSeq profile_header_seq);
Parameters

group_path—full path name of the group

profile_header_seq—list of profile headers returned

Returns

ResultInfo—result info structure which indicates the result of the call. If successful, the return code is CCNSC_OK; otherwise the return code will be one of the error code defined in the spm_errors.idl file.

Raises

This API does not raise any exception.

Description

The out argument is a sequence of ProfileHeader structures. If no profile found, returned sequence will be empty.

get_subgroups()

Returns a list of subgroups (their full path names) under the specified parent group. descr Returns the full path list of (sub)groups under the

Usage
ResultInfo get_subgroups(
in SecurityToken security_token,
in string parent_group_path,
out StringSeq group_list);
Parameters

parent_group_path—full path name of the parent group

group_list—list of subgroups returned from the call

Returns

ResultInfo—result information structure which indicates the result of the call. If successful, the return code is CCNSC_OK; otherwise, the return code will be one of the error code defined in the spm_errors.idl file.

Raises

This API does not raise any exception.

Description

parent group (group_path - is the full path of parent group). To get the top sub-groups, use "/" for parentGroupPath. If no sub-group is found, then the the returned sequence will be empty.

modify_profile()

Modifies an existing profile.

Usage
ResultInfo modify_profile(
in SecurityToken security_token,
in Profile pf);
Parameters

pf—profile to be modified

Returns

ResultInfo—result information structure which indicates the result of the call. If successful, the return code is CCNSC_OK; otherwise, the return code will be one of the error code defined in the spm_errors.idl file.

Raises

This API does not raise any exception.

Description

The input argument pf is a structure whose members are profile_id : full path of the existing profile profile_type : Type of profile (service / provision etc.) content : xml coded profile content within a group, profile id is unique. Currently, only modification of profile content is allowed.


hometocprevnextglossaryfeedbacksearchhelp
Posted: Wed May 21 08:23:38 PDT 2003
All contents are Copyright © 1992--2003 Cisco Systems, Inc. All rights reserved.
Important Notices and Privacy Statement.