Main Page | Packages | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | Related Pages

saeaccess.idl

Go to the documentation of this file.
00001 #include "sae.idl" 00002 00003 #pragma prefix "smgt.juniper.net" 00004 00068 module sae { 00070 const string DEFAULT_SESSION_NAME = "default"; 00071 00073 const string MANUAL = "MANUAL"; 00074 00076 const string ACTIVATE_ON_LOGIN = "ACTIVATE_ON_LOGIN"; 00077 00079 typedef sequence<wstring> WStringSeq; 00080 00093 struct Attr { 00094 00096 string name; 00097 00099 WStringSeq values; 00100 }; 00101 00103 typedef sequence<Attr> AttrSeq; 00104 00106 typedef sequence<AttrSeq> AttrSeqSeq; 00107 00108 /********************************************************************* 00109 * Schedule objects 00110 */ 00111 00133 struct TimeSpec { 00134 // the attributes of time specification 00135 string year; 00136 string month; 00137 string dayOfMonth; 00138 string dayOfWeek; 00139 string hour; 00140 string minute; 00141 string extension; 00142 }; 00143 00144 00152 struct ScheduledTime { 00158 TimeSpec firstTimeSpec; 00159 00165 TimeSpec secondTimeSpec; 00166 }; 00167 00168 00183 struct ActionExt { 00185 unsigned long operation; 00186 00188 wstring serviceName; 00189 00191 AttrSeq attributes; 00192 }; 00193 00198 typedef sequence<ActionExt> ActionExtSeq; 00199 00200 00205 struct Action { 00207 unsigned long operation; 00208 00210 wstring serviceName; 00211 }; 00212 00217 typedef sequence<Action> ActionSeq; 00218 00220 typedef sequence<long long> LongLongSeq; 00221 00222 00227 struct ScheduleEntry { 00228 string id; 00229 ScheduledTime schedTime; 00230 ActionExtSeq actions; 00231 00232 00233 }; 00234 00236 typedef string ScheduleEntryId; 00237 00239 typedef sequence<ScheduleEntryId> ScheduleEntryIdSeq; 00240 00242 typedef sequence<ScheduleEntry> ScheduleEntrySeq; 00243 00244 00252 struct Select { 00253 00273 StringSeq attributes; 00274 00328 string filter; 00329 }; 00330 00331 00337 struct IdxPair { 00338 unsigned long subIdx; 00339 unsigned long svcIdx; 00340 }; 00341 00343 typedef sequence<IdxPair> IdxPairSeq; 00344 00356 struct ReadResult { 00357 IdxPairSeq result; 00358 AttrSeqSeq subscription; 00359 AttrSeqSeq service; 00360 00362 AttrSeq attributes; 00363 }; 00364 00365 00366 /********************************************************************* 00367 * Exceptions raised by the interfaces 00368 */ 00369 00371 exception UnknownUserException { 00372 wstring userId; 00373 wstring message; 00374 }; 00375 00378 exception NonUniqueUserException { 00379 wstring userId; 00380 wstring message; 00381 }; 00382 00384 exception UnknownServiceException { 00385 wstring serviceName; 00386 wstring message; 00387 }; 00388 00390 exception UnknownServiceSessionException { 00391 wstring serviceName; 00392 wstring sessionName; 00393 wstring message; 00394 }; 00395 00397 exception UnknownSubscriptionException { 00398 wstring subscriptionName; 00399 wstring message; 00400 }; 00401 00403 exception SAEException { 00404 wstring message; 00405 }; 00406 00411 exception LoginException { 00412 string currentIp; 00413 string loginName; 00414 wstring message; 00415 }; 00416 00419 exception OverloadException { 00420 wstring message; 00421 }; 00422 00424 exception UnsupportedException { 00425 wstring message; 00426 }; 00427 00429 enum SAET { 00430 SAET_PUBLIC_IP_AUTHENTICATION, 00432 SAET_MUTEX_GROUPS, 00434 SAET_SERVICE_AUTHORIZATION, 00436 SAET_ANONYMOUS_USER, 00438 SAET_AUTH_PRECLUDES_ACTIVATE_ON_LOGIN, 00441 SAET_INHERITED_SUBSCRIPTION, 00443 SAET_SERVICE_UNAVAILABLE, 00445 SAET_SUBSCRIPTION_AUTHORIZATION, 00447 SAET_ACTIVATE_ONLY, 00449 SAET_INVISIBLE, 00451 SAET_FILTERED_OUT, 00453 SAET_NO_SESSION_MODIFICATION, 00455 SAET_TRANSIENT_EXCEPTION, 00457 SAET_PERSISTENT_ACTIVATION 00459 }; 00460 00462 exception ServiceAuthenticationException { 00463 SAET reason; 00464 wstring userIp; 00465 wstring serviceName; 00466 wstring sessionName; 00467 wstring message; 00468 }; 00469 00470 /********************************************************************* 00471 * SubscriberId 00472 */ 00473 00486 struct TimedAddress { 00487 string ipAddress; 00488 unsigned long long timestamp; 00489 00490 }; 00491 00492 00497 struct InterfaceName { 00498 string intfName; 00499 string vrName; 00500 }; 00501 00502 00509 struct InterfaceIndex { 00510 unsigned long index; 00511 string vrName; 00512 }; 00513 00514 00521 struct AddrInterfaceName { 00522 string ipAddress; 00523 string intfName; 00524 string vrName; 00525 00526 00527 }; 00528 00529 struct TunnelSession { 00530 long tunnelId; 00531 long tunnelSessionId; 00532 string vrName; 00533 00534 }; 00535 00541 struct GlobalAddress { 00544 string ipAddress; 00546 string vpn_id; 00547 }; 00548 00554 struct GlobalLoginName { 00555 string login_name; 00556 string vpn_id; 00557 }; 00558 00560 enum SubscriberIdType { 00563 SIT_ADDRESS, 00564 00566 SIT_DN, 00567 00569 SIT_LOGIN_NAME, 00570 00573 SIT_IF_NAME, 00574 00577 SIT_IF_INDEX, 00578 00580 SIT_PRIMARY_USER_NAME, 00581 00584 SIT_ADDR_IF_NAME, 00585 00588 SIT_TUNNEL_SESSION, 00589 00591 SIT_SESSIONID, 00592 00594 SIT_SESSION_HANDLE, 00595 00597 SIT_GLOBAL_ADDRESS, 00598 00600 SIT_GLOBAL_LOGIN_NAME 00601 }; 00602 00603 00608 union SubscriberId switch(SubscriberIdType) { 00609 case SIT_ADDRESS: 00610 TimedAddress address; 00611 case SIT_DN: 00612 string dn; 00613 case SIT_LOGIN_NAME: 00614 string login_name; 00615 case SIT_IF_NAME: 00616 InterfaceName if_name; 00617 case SIT_IF_INDEX: 00618 InterfaceIndex if_index; 00619 case SIT_PRIMARY_USER_NAME: 00620 string primary_user_name; 00621 case SIT_ADDR_IF_NAME: 00622 AddrInterfaceName addr_if_name; 00623 case SIT_TUNNEL_SESSION: 00624 TunnelSession tunnel_session; 00625 case SIT_SESSIONID: 00626 string sessionId; 00627 case SIT_SESSION_HANDLE: 00628 string sessionHandle; 00629 case SIT_GLOBAL_ADDRESS: 00630 GlobalAddress global_address; 00631 case SIT_GLOBAL_LOGIN_NAME: 00632 GlobalLoginName global_login_name; 00633 }; 00634 00635 00642 struct DhcpAttribute { 00643 string name; 00644 string value; 00645 }; 00646 00648 typedef sequence<DhcpAttribute> DhcpAttributes; 00649 00650 00660 interface Subscriber { 00661 00662 00696 ReadResult read(in Select subscription, 00697 in Select service, 00698 in StringSeq attributes) 00699 raises (SAEException, UnknownUserException, NonUniqueUserException); 00700 00701 00724 AttrSeq readSubscriber(in StringSeq attributes) 00725 raises (SAEException, UnknownUserException, NonUniqueUserException); 00726 00727 00748 AttrSeqSeq readSubscription(in Select selection) 00749 raises (SAEException, UnknownUserException, NonUniqueUserException); 00750 00751 00772 AttrSeqSeq readService(in Select selection) 00773 raises (SAEException, UnknownUserException, NonUniqueUserException); 00774 00775 /* 00776 * Schedule manipulation for the subscriber 00777 */ 00778 00797 void addScheduleEntry(in ScheduleEntryId id, 00798 in ScheduledTime schedTime, 00799 in ActionExtSeq actions) 00800 raises (UnknownUserException, 00801 SAEException); 00802 00803 00822 void updateScheduleEntry(in ScheduleEntryId id, 00823 in ScheduledTime schedTime, 00824 in ActionExtSeq actions) 00825 raises (UnknownUserException, 00826 SAEException); 00827 00828 00843 void deleteScheduleEntry(in ScheduleEntryId id) 00844 raises (UnknownUserException, 00845 SAEException); 00846 00847 00867 ScheduleEntry getScheduleEntryById(in ScheduleEntryId id) 00868 raises (UnknownUserException, 00869 SAEException); 00870 00871 00892 ScheduleEntrySeq getScheduleEntriesByIds(in ScheduleEntryIdSeq ids) 00893 raises (UnknownUserException, 00894 SAEException); 00895 00896 00916 ScheduleEntryIdSeq getScheduleEntryIds(in long long startDate, 00917 in long long endDate) 00918 raises (UnknownUserException, 00919 SAEException); 00920 00921 00939 void addOneTimeScheduleEntry(in long long eventDate, 00940 in ActionSeq actions) 00941 raises (UnknownUserException, 00942 SAEException); 00943 00944 00962 void updateOneTimeScheduleEntryActions(in long long eventDate, 00963 in ActionSeq actions) 00964 raises (UnknownUserException, 00965 SAEException); 00966 00967 00986 void deleteOneTimeScheduleEntries(in long long startDate, 00987 in long long endDate) 00988 raises (UnknownUserException, 00989 SAEException); 00990 00991 01009 ActionSeq getOneTimeScheduleEntryActions(in long long eventDate) 01010 raises (UnknownUserException, 01011 SAEException); 01012 01013 01034 LongLongSeq getOneTimeScheduleEntryEventDates(in long long startDate, 01035 in long long endDate) 01036 raises (UnknownUserException, 01037 SAEException); 01038 01039 01072 WStringSeq addSubscriptionAttributes(in string subscriptionName, 01073 in string userName, 01074 in string password, 01075 in AttrSeq subscriptionAttributes) 01076 raises (UnknownUserException, 01077 NonUniqueUserException, 01078 UnknownServiceException, 01079 ServiceAuthenticationException, 01080 SAEException); 01081 01082 01113 WStringSeq addSubscription(in string subscriptionName, 01114 in string userName, 01115 in string password) 01116 raises (UnknownUserException, 01117 NonUniqueUserException, 01118 UnknownServiceException, 01119 ServiceAuthenticationException, 01120 SAEException); 01121 01122 01154 WStringSeq deleteSubscription(in string subscriptionName, 01155 in string userName, 01156 in string password) 01157 raises (UnknownUserException, 01158 NonUniqueUserException, 01159 UnknownServiceException, 01160 UnknownSubscriptionException, 01161 ServiceAuthenticationException, 01162 SAEException); 01163 01164 01184 void setSessionTimeout(in unsigned long timeout) 01185 raises (UnknownUserException, NonUniqueUserException, SAEException); 01186 01187 01209 void updateSessionTimeout(in unsigned long timeout) 01210 raises (UnknownUserException, NonUniqueUserException, SAEException); 01211 01212 01245 void updateServiceSessionTimeout(in string subscriptionName, 01246 in string sessionName, 01247 in unsigned long timeout) 01248 raises (UnknownUserException, 01249 NonUniqueUserException, 01250 UnknownServiceException, 01251 UnknownSubscriptionException, 01252 SAEException); 01253 01254 01275 boolean login(in string loginName, 01276 in string password) 01277 raises (LoginException, 01278 SAEException); 01279 01280 01297 void logout() 01298 raises (UnknownUserException, 01299 SAEException); 01300 01301 01317 void disconnect() 01318 raises (UnknownUserException, 01319 NonUniqueUserException, 01320 UnsupportedException, 01321 SAEException); 01322 01323 01349 void grantPublicIp(in string loginName, 01350 in string password) 01351 raises (UnknownUserException, 01352 ServiceAuthenticationException, 01353 SAEException); 01354 01355 01381 void grantPublicIpAttr(in string loginName, 01382 in string password, 01383 in DhcpAttributes attr) 01384 raises (UnknownUserException, 01385 ServiceAuthenticationException, 01386 SAEException); 01387 01388 01403 void revokePublicIp() 01404 raises (UnknownUserException, 01405 SAEException); 01406 01407 01446 void activateService(in string subscriptionName, 01447 in string sessionName, 01448 in AttrSeq activationAttributes) 01449 raises (UnknownUserException, 01450 NonUniqueUserException, 01451 UnknownServiceException, 01452 UnknownSubscriptionException, 01453 ServiceAuthenticationException, 01454 OverloadException, 01455 SAEException); 01456 01457 01501 string activateServiceSession(in string subscriptionName, 01502 in string sessionName, 01503 in AttrSeq activationAttributes) 01504 raises (UnknownUserException, 01505 NonUniqueUserException, 01506 UnknownServiceException, 01507 UnknownSubscriptionException, 01508 ServiceAuthenticationException, 01509 OverloadException, 01510 SAEException); 01511 01512 01543 void activateServiceBackground(in string subscriptionName, 01544 in string sessionName, 01545 in AttrSeq activationAttributes) 01546 raises (UnknownUserException, 01547 NonUniqueUserException, 01548 UnknownServiceException, 01549 UnknownSubscriptionException, 01550 ServiceAuthenticationException, 01551 OverloadException, 01552 SAEException); 01553 01608 void modifyServiceSession(in string subscriptionName, 01609 in string sessionName, 01610 in AttrSeq activationAttributes) 01611 raises (UnknownUserException, 01612 NonUniqueUserException, 01613 UnknownServiceException, 01614 UnknownSubscriptionException, 01615 UnknownServiceSessionException, 01616 ServiceAuthenticationException, 01617 OverloadException, 01618 SAEException); 01619 01620 01648 void deactivateService(in string subscriptionName, 01649 in string sessionName) 01650 raises (UnknownUserException, 01651 NonUniqueUserException, 01652 UnknownServiceException, 01653 UnknownSubscriptionException, 01654 ServiceAuthenticationException, 01655 SAEException); 01656 01684 void deactivateServiceBackground(in string subscriptionName, 01685 in string sessionName) 01686 raises (UnknownUserException, 01687 NonUniqueUserException, 01688 UnknownServiceException, 01689 UnknownSubscriptionException, 01690 ServiceAuthenticationException, 01691 SAEException); 01692 01693 01727 void deactivateServiceReason(in string subscriptionName, 01728 in string sessionName, 01729 in long reason) 01730 raises (UnknownUserException, 01731 NonUniqueUserException, 01732 UnknownServiceException, 01733 UnknownSubscriptionException, 01734 ServiceAuthenticationException, 01735 SAEException); 01736 01771 void deactivateServiceBackgroundReason(in string subscriptionName, 01772 in string sessionName, 01773 in long reason) 01774 raises (UnknownUserException, 01775 NonUniqueUserException, 01776 UnknownServiceException, 01777 UnknownSubscriptionException, 01778 ServiceAuthenticationException, 01779 SAEException); 01780 01784 void fragmentDown(in string aggregateSubscriptionName, 01785 in string aggregateSessionName, 01786 in string fragmentSessionId) 01787 raises (UnknownUserException, 01788 NonUniqueUserException, 01789 UnknownServiceException, 01790 UnknownSubscriptionException, 01791 UnknownServiceSessionException, 01792 SAEException); 01793 01797 void fragmentReactivating(in string aggregateSubscriptionName, 01798 in string aggregateSessionName, 01799 in string fragmentSessionId) 01800 raises (UnknownUserException, 01801 NonUniqueUserException, 01802 UnknownServiceException, 01803 UnknownSubscriptionException, 01804 UnknownServiceSessionException, 01805 SAEException); 01806 01807 01841 void setActivationTrigger(in string subscriptionName, 01842 in string activationTrigger) 01843 raises (UnknownUserException, 01844 NonUniqueUserException, 01845 UnknownServiceException, 01846 UnknownSubscriptionException, 01847 ServiceAuthenticationException, 01848 SAEException); 01849 01850 01876 void setPersistentSession(in string subscriptionName, 01877 in string sessionName, 01878 in AttrSeq persistentSessionAttributes) 01879 raises (UnknownUserException, 01880 NonUniqueUserException, 01881 UnknownServiceException, 01882 SAEException); 01883 01884 01908 void deletePersistentSession(in string subscriptionName, 01909 in string sessionName) 01910 raises (UnknownUserException, 01911 NonUniqueUserException, 01912 UnknownServiceException, 01913 SAEException); 01914 01915 01939 void modifyPersistentSession(in string subscriptionName, 01940 in string sessionName, 01941 in boolean active) 01942 raises (UnknownUserException, 01943 NonUniqueUserException, 01944 UnknownServiceException, 01945 SAEException); 01946 01947 01970 void setInterimTime(in string subscriptionName, 01971 in string sessionName, 01972 in unsigned long time) 01973 raises (UnknownUserException, 01974 NonUniqueUserException, 01975 UnknownServiceException, 01976 SAEException); 01977 01978 02001 void setSessionVolumeQuota(in string subscriptionName, 02002 in string sessionName, 02003 in string sessionVolumeQuota) 02004 raises (UnknownUserException, 02005 NonUniqueUserException, 02006 UnknownServiceException, 02007 SAEException); 02008 02009 02045 AttrSeqSeq getUsage(in Select selection) 02046 raises (SAEException, 02047 UnknownUserException, 02048 NonUniqueUserException, 02049 OverloadException); 02050 }; 02051 02052 02056 typedef sequence<Subscriber> SubscriberSeq; 02057 02058 02064 struct Registration { 02065 string macAddress; 02066 string loginName; 02067 string userDn; 02068 string intfName; 02070 string vrName; 02072 wstring description; 02074 02075 }; 02076 02078 typedef sequence<Registration> RegistrationSeq; 02079 02087 interface SubscriberIterator { 02088 02089 02102 SubscriberSeq next_n(in unsigned long how_many, 02103 out boolean more); 02104 02105 02110 void destroy(); 02111 }; 02112 02113 02121 interface SAEAccess: SAEFeature { 02122 02123 02138 Subscriber getSubscriber(in SubscriberId sid) 02139 raises (UnknownUserException, NonUniqueUserException); 02140 02141 02163 SubscriberSeq getSubscriberSet(in SubscriberId sid, 02164 in unsigned long how_many, 02165 out SubscriberIterator iter, 02166 out unsigned long total); 02167 02168 02198 SubscriberSeq findSubscriber(in string filter, 02199 in unsigned long how_many, 02200 out SubscriberIterator iter, 02201 out unsigned long total) 02202 raises (SAEException); 02203 02204 02235 SubscriberSeq getSubscriberFilter(in SubscriberId sid, 02236 in string filter, 02237 in unsigned long how_many, 02238 out SubscriberIterator iter, 02239 out unsigned long total) 02240 raises (SAEException); 02241 02242 02243 // manipulate ServiceActivationEngine 02244 02245 02279 void registerLogin(in string macAddress, 02280 in wstring loginDescription, 02281 in string loginName, 02282 in string password, 02283 in string vrName, 02284 in string interfaceName) 02285 raises (LoginException, SAEException); 02286 02287 02324 void registerLoginCredentials(in string macAddress, 02325 in wstring loginDescription, 02326 in string loginName, 02327 in string password, 02328 in string vrName, 02329 in string interfaceName) 02330 raises (LoginException, SAEException); 02331 02332 02363 void registerNextLogin(in string macAddress, 02364 in wstring loginDescription, 02365 in string loginName, 02366 in string password, 02367 in string vrName, 02368 in string interfaceName) 02369 raises (LoginException, SAEException); 02370 02371 02393 void unregisterLogin(in string macAddress, 02394 in string loginName, 02395 in string password) 02396 raises (LoginException, SAEException); 02397 02398 02426 void registerEquipment(in string macAddress, 02427 in wstring equipmentDescription, 02428 in string loginName, 02429 in string password, 02430 in string vrName, 02431 in string interfaceName) 02432 raises (SAEException); 02433 02434 02465 void registerEquipmentAttr(in string macAddress, 02466 in wstring equipmentDescription, 02467 in string loginName, 02468 in string password, 02469 in string vrName, 02470 in string interfaceName, 02471 in DhcpAttributes attr) 02472 raises (SAEException); 02473 02474 02493 void unregisterEquipment(in string macAddress, 02494 in string loginName, 02495 in string password) 02496 raises (SAEException); 02497 02498 02520 boolean loginUser(in string userIp, 02521 in string loginName, 02522 in string password) 02523 raises (LoginException, SAEException); 02524 02525 02548 RegistrationSeq getRegisteredLogins(in string login, 02549 in string password) 02550 raises(LoginException, SAEException); 02551 02552 02571 RegistrationSeq getRegisteredEquipment(in string login, 02572 in string password) 02573 raises(LoginException, SAEException); 02574 02575 }; 02576 };

Generated on Tue Jun 15 10:16:56 2010 for SAE API by doxygen 1.3.7