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     SAET_MODIFY_EXCEPTION
00461   };
00462 
00464   exception ServiceAuthenticationException {
00465     SAET reason;
00466     wstring userIp;
00467     wstring serviceName;
00468     wstring sessionName;
00469     wstring message;
00470   };
00471   
00472   /*********************************************************************
00473    * SubscriberId
00474    */
00475 
00488   struct TimedAddress {
00489     string ipAddress;                
00490     unsigned long long timestamp;    
00491 
00492   };
00493 
00494 
00499   struct InterfaceName {
00500     string intfName;                    
00501     string vrName;                      
00502   };
00503 
00504 
00511   struct InterfaceIndex {
00512     unsigned long index;                
00513     string vrName;                      
00514   };
00515 
00516 
00523   struct AddrInterfaceName {
00524     string ipAddress;                   
00525     string intfName;                    
00526     string vrName;                      
00527 
00528 
00529   };
00530   
00531   struct TunnelSession {
00532     long tunnelId;              
00533     long tunnelSessionId;       
00534     string vrName;              
00535 
00536   };
00537 
00543   struct GlobalAddress {
00546     string ipAddress;
00548     string vpn_id;
00549   };
00550 
00556   struct GlobalLoginName {
00557     string login_name;                  
00558     string vpn_id;                      
00559   };
00560 
00562   enum SubscriberIdType {
00565     SIT_ADDRESS,
00566                         
00568     SIT_DN,
00569     
00571     SIT_LOGIN_NAME,
00572     
00575     SIT_IF_NAME,
00576     
00579     SIT_IF_INDEX,       
00580    
00582     SIT_PRIMARY_USER_NAME,
00583     
00586     SIT_ADDR_IF_NAME,
00587                     
00590     SIT_TUNNEL_SESSION,
00591 
00593     SIT_SESSIONID,          
00594     
00596     SIT_SESSION_HANDLE,
00597 
00599     SIT_GLOBAL_ADDRESS,
00600 
00602     SIT_GLOBAL_LOGIN_NAME
00603   };
00604 
00605 
00610   union SubscriberId switch(SubscriberIdType) {
00611     case SIT_ADDRESS:                   
00612       TimedAddress address;
00613     case SIT_DN:                        
00614       string dn;
00615     case SIT_LOGIN_NAME:                
00616       string login_name;
00617     case SIT_IF_NAME:                   
00618       InterfaceName if_name;
00619     case SIT_IF_INDEX:                  
00620       InterfaceIndex if_index;
00621     case SIT_PRIMARY_USER_NAME:         
00622       string primary_user_name;
00623     case SIT_ADDR_IF_NAME:              
00624       AddrInterfaceName addr_if_name;  
00625     case SIT_TUNNEL_SESSION:            
00626       TunnelSession tunnel_session;
00627     case SIT_SESSIONID:                 
00628       string sessionId;
00629     case SIT_SESSION_HANDLE:            
00630       string sessionHandle;
00631     case SIT_GLOBAL_ADDRESS:            
00632       GlobalAddress global_address;
00633     case SIT_GLOBAL_LOGIN_NAME:         
00634       GlobalLoginName global_login_name;
00635   };
00636 
00637 
00644   struct DhcpAttribute {
00645     string name;        
00646     string value;               
00647   };
00648 
00650   typedef sequence<DhcpAttribute> DhcpAttributes;
00651 
00652 
00662   interface Subscriber {
00663 
00664     
00698     ReadResult read(in Select subscription,
00699                     in Select service,
00700                     in StringSeq attributes)
00701       raises (SAEException, UnknownUserException, NonUniqueUserException);
00702 
00703 
00726     AttrSeq readSubscriber(in StringSeq attributes)
00727       raises (SAEException, UnknownUserException, NonUniqueUserException);
00728 
00729 
00750     AttrSeqSeq readSubscription(in Select selection)
00751       raises (SAEException, UnknownUserException, NonUniqueUserException);
00752 
00753 
00774     AttrSeqSeq readService(in Select selection)
00775       raises (SAEException, UnknownUserException, NonUniqueUserException);
00776 
00777     /*
00778      * Schedule manipulation for the subscriber
00779      */
00780 
00799     void addScheduleEntry(in ScheduleEntryId id,
00800                           in ScheduledTime schedTime,
00801                           in ActionExtSeq actions)
00802       raises (UnknownUserException,
00803               SAEException);
00804 
00805 
00824     void updateScheduleEntry(in ScheduleEntryId id,
00825                              in ScheduledTime schedTime,
00826                              in ActionExtSeq actions)
00827       raises (UnknownUserException,
00828               SAEException);
00829 
00830 
00845     void deleteScheduleEntry(in ScheduleEntryId id)
00846       raises (UnknownUserException,
00847               SAEException);
00848 
00849 
00869     ScheduleEntry getScheduleEntryById(in ScheduleEntryId id)
00870       raises (UnknownUserException,
00871               SAEException);
00872 
00873 
00894     ScheduleEntrySeq getScheduleEntriesByIds(in ScheduleEntryIdSeq ids)
00895       raises (UnknownUserException,
00896               SAEException);
00897 
00898 
00918     ScheduleEntryIdSeq getScheduleEntryIds(in long long startDate,
00919                                            in long long endDate)
00920       raises (UnknownUserException,
00921               SAEException);
00922 
00923 
00941     void addOneTimeScheduleEntry(in long long eventDate,
00942                                  in ActionSeq actions)
00943       raises (UnknownUserException,
00944               SAEException);
00945 
00946 
00964     void updateOneTimeScheduleEntryActions(in long long eventDate,
00965                                            in ActionSeq actions)
00966       raises (UnknownUserException,
00967               SAEException);
00968 
00969 
00988     void deleteOneTimeScheduleEntries(in long long startDate,
00989                                       in long long endDate)
00990       raises (UnknownUserException,
00991               SAEException);
00992 
00993 
01011     ActionSeq getOneTimeScheduleEntryActions(in long long eventDate)
01012       raises (UnknownUserException,
01013               SAEException);
01014 
01015 
01036     LongLongSeq getOneTimeScheduleEntryEventDates(in long long startDate,
01037                                                   in long long endDate)
01038       raises (UnknownUserException,
01039               SAEException);
01040 
01041 
01074     WStringSeq addSubscriptionAttributes(in string subscriptionName,
01075                                          in string userName,
01076                                          in string password,
01077                                          in AttrSeq subscriptionAttributes)
01078       raises (UnknownUserException,
01079               NonUniqueUserException,
01080               UnknownServiceException,
01081               ServiceAuthenticationException,
01082               SAEException);
01083 
01084 
01115     WStringSeq addSubscription(in string subscriptionName,
01116                                in string userName,
01117                                in string password)
01118       raises (UnknownUserException,
01119               NonUniqueUserException,
01120               UnknownServiceException,
01121               ServiceAuthenticationException,
01122               SAEException);
01123 
01124 
01156     WStringSeq deleteSubscription(in string subscriptionName,
01157                                   in string userName,
01158                                   in string password)
01159       raises (UnknownUserException,
01160               NonUniqueUserException,
01161               UnknownServiceException,
01162               UnknownSubscriptionException,
01163               ServiceAuthenticationException,
01164               SAEException);
01165 
01166 
01186     void setSessionTimeout(in unsigned long timeout)
01187       raises (UnknownUserException, NonUniqueUserException, SAEException);
01188 
01189     
01211     void updateSessionTimeout(in unsigned long timeout)
01212       raises (UnknownUserException, NonUniqueUserException, SAEException);  
01213      
01214 
01247     void updateServiceSessionTimeout(in string subscriptionName,
01248                                      in string sessionName,
01249                                      in unsigned long timeout)
01250       raises (UnknownUserException, 
01251               NonUniqueUserException,
01252               UnknownServiceException,
01253               UnknownSubscriptionException,
01254               SAEException); 
01255 
01256     
01277     boolean login(in string loginName,
01278                   in string password)
01279       raises (LoginException,
01280               SAEException);
01281 
01282 
01299     void logout()
01300       raises (UnknownUserException,
01301               SAEException);
01302 
01303 
01319     void disconnect()
01320       raises (UnknownUserException,
01321               NonUniqueUserException,
01322               UnsupportedException,
01323               SAEException);
01324 
01325 
01351     void grantPublicIp(in string loginName,
01352                        in string password)
01353       raises (UnknownUserException,
01354               ServiceAuthenticationException,
01355               SAEException);
01356 
01357 
01383     void grantPublicIpAttr(in string loginName,
01384                            in string password,
01385                            in DhcpAttributes attr)
01386       raises (UnknownUserException,
01387               ServiceAuthenticationException,
01388               SAEException);
01389 
01390 
01405     void revokePublicIp()
01406       raises (UnknownUserException,
01407               SAEException);
01408 
01409 
01448     void activateService(in string subscriptionName,
01449                          in string sessionName,
01450                          in AttrSeq activationAttributes)
01451       raises (UnknownUserException,
01452               NonUniqueUserException,
01453               UnknownServiceException,
01454               UnknownSubscriptionException,
01455               ServiceAuthenticationException,
01456               OverloadException,
01457               SAEException);
01458 
01459 
01503     string activateServiceSession(in string subscriptionName,
01504                                   in string sessionName,
01505                                   in AttrSeq activationAttributes)
01506       raises (UnknownUserException,
01507               NonUniqueUserException,
01508               UnknownServiceException,
01509               UnknownSubscriptionException,
01510               ServiceAuthenticationException,
01511               OverloadException,
01512               SAEException);
01513 
01514     
01545     void activateServiceBackground(in string subscriptionName,
01546                                    in string sessionName,
01547                                    in AttrSeq activationAttributes)
01548       raises (UnknownUserException,
01549               NonUniqueUserException,
01550               UnknownServiceException,
01551               UnknownSubscriptionException,
01552               ServiceAuthenticationException,
01553               OverloadException,
01554               SAEException);
01555       
01610     void modifyServiceSession(in string subscriptionName,
01611                               in string sessionName,
01612                               in AttrSeq activationAttributes)
01613       raises (UnknownUserException,
01614               NonUniqueUserException,
01615               UnknownServiceException,
01616               UnknownSubscriptionException,
01617               UnknownServiceSessionException,
01618               ServiceAuthenticationException,
01619               OverloadException,
01620               SAEException);
01621 
01625     void startModifyFragmentSession(in string subscriptionName,
01626                                     in string sessionName,
01627                                     in AttrSeq activationAttributes)
01628       raises (UnknownUserException,
01629               NonUniqueUserException,
01630               UnknownServiceException,
01631               UnknownSubscriptionException,
01632               UnknownServiceSessionException,
01633               ServiceAuthenticationException,
01634               SAEException);
01635 
01639     void finishModifyFragmentSession(in string subscriptionName,
01640                                      in string sessionName,
01641                                      in AttrSeq activationAttributes)
01642       raises (UnknownUserException,
01643               NonUniqueUserException,
01644               UnknownServiceException,
01645               UnknownSubscriptionException,
01646               UnknownServiceSessionException,
01647               ServiceAuthenticationException,
01648               OverloadException,
01649               SAEException);
01650 
01654     void undoModifyFragmentSession(in string subscriptionName,
01655                                    in string sessionName,
01656                                    in AttrSeq activationAttributes)
01657       raises (UnknownUserException,
01658               NonUniqueUserException,
01659               UnknownServiceException,
01660               UnknownSubscriptionException,
01661               UnknownServiceSessionException,
01662               ServiceAuthenticationException,
01663               OverloadException,
01664               SAEException);
01665     
01693     void deactivateService(in string subscriptionName,
01694                            in string sessionName)
01695       raises (UnknownUserException,
01696               NonUniqueUserException,
01697               UnknownServiceException,
01698               UnknownSubscriptionException,
01699               ServiceAuthenticationException,
01700               SAEException);
01701     
01729     void deactivateServiceBackground(in string subscriptionName,
01730                                      in string sessionName)
01731       raises (UnknownUserException,
01732               NonUniqueUserException,
01733               UnknownServiceException,
01734               UnknownSubscriptionException,
01735               ServiceAuthenticationException,
01736               SAEException);
01737 
01738 
01772     void deactivateServiceReason(in string subscriptionName,
01773                                  in string sessionName,
01774                                  in long reason)
01775       raises (UnknownUserException,
01776               NonUniqueUserException,
01777               UnknownServiceException,
01778               UnknownSubscriptionException,
01779               ServiceAuthenticationException,
01780               SAEException);
01781     
01816     void deactivateServiceBackgroundReason(in string subscriptionName,
01817                                            in string sessionName,
01818                                            in long reason)
01819       raises (UnknownUserException,
01820               NonUniqueUserException,
01821               UnknownServiceException,
01822               UnknownSubscriptionException,
01823               ServiceAuthenticationException,
01824               SAEException);
01825 
01829     void fragmentDown(in string aggregateSubscriptionName,
01830                       in string aggregateSessionName,
01831                       in string fragmentSessionId)
01832       raises (UnknownUserException,
01833               NonUniqueUserException,
01834               UnknownServiceException,
01835               UnknownSubscriptionException,
01836               UnknownServiceSessionException,
01837               SAEException);
01838 
01842     void fragmentReactivating(in string aggregateSubscriptionName,
01843                               in string aggregateSessionName,
01844                               in string fragmentSessionId)
01845       raises (UnknownUserException,
01846               NonUniqueUserException,
01847               UnknownServiceException,
01848               UnknownSubscriptionException,
01849               UnknownServiceSessionException,
01850               SAEException);
01851 
01852 
01886     void setActivationTrigger(in string subscriptionName,
01887                               in string activationTrigger)
01888       raises (UnknownUserException,
01889               NonUniqueUserException,
01890               UnknownServiceException,
01891               UnknownSubscriptionException,
01892               ServiceAuthenticationException,
01893               SAEException);
01894 
01895 
01921     void setPersistentSession(in string subscriptionName,
01922                               in string sessionName,
01923                               in AttrSeq persistentSessionAttributes)
01924       raises (UnknownUserException,
01925               NonUniqueUserException,
01926               UnknownServiceException,
01927               SAEException);
01928 
01929 
01953     void deletePersistentSession(in string subscriptionName,
01954                                  in string sessionName)
01955       raises (UnknownUserException,
01956               NonUniqueUserException,
01957               UnknownServiceException,
01958               SAEException);
01959 
01960                                  
01984     void modifyPersistentSession(in string subscriptionName,
01985                                  in string sessionName,
01986                                  in boolean active)
01987       raises (UnknownUserException,
01988               NonUniqueUserException,
01989               UnknownServiceException,
01990               SAEException);
01991 
01992 
02015     void setInterimTime(in string subscriptionName,
02016                         in string sessionName,
02017                         in unsigned long time)
02018       raises (UnknownUserException,
02019               NonUniqueUserException,
02020               UnknownServiceException,
02021               SAEException);
02022 
02023                                  
02046     void setSessionVolumeQuota(in string subscriptionName,
02047                                in string sessionName,
02048                                in string sessionVolumeQuota)
02049       raises (UnknownUserException,
02050               NonUniqueUserException,
02051               UnknownServiceException,
02052               SAEException);
02053 
02054 
02090     AttrSeqSeq getUsage(in Select selection)
02091       raises (SAEException,
02092               UnknownUserException,
02093               NonUniqueUserException,
02094               OverloadException);
02095     
02113     void setProperty(in string aProperty)
02114       raises (SAEException,
02115               UnknownUserException,
02116               NonUniqueUserException);
02117   };
02118 
02119  
02123   typedef sequence<Subscriber> SubscriberSeq;
02124 
02125 
02131   struct Registration {
02132     string macAddress;          
02133     string loginName;           
02134     string userDn;              
02135     string intfName;
02137     string vrName;
02139     wstring description;
02141                               
02142   };
02143 
02145   typedef sequence<Registration> RegistrationSeq;
02146 
02154   interface SubscriberIterator {
02155 
02156 
02169     SubscriberSeq next_n(in unsigned long how_many,
02170                          out boolean more);
02171 
02172 
02177     void destroy();
02178   };
02179 
02180  
02188   interface SAEAccess: SAEFeature {
02189    
02190 
02205     Subscriber getSubscriber(in SubscriberId sid)
02206       raises (UnknownUserException, NonUniqueUserException);
02207 
02208 
02230     SubscriberSeq getSubscriberSet(in SubscriberId sid,
02231                                    in unsigned long how_many,
02232                                    out SubscriberIterator iter,
02233                                    out unsigned long total);
02234 
02235 
02265     SubscriberSeq findSubscriber(in string filter,
02266                                  in unsigned long how_many,
02267                                  out SubscriberIterator iter,
02268                                  out unsigned long total)
02269       raises (SAEException);
02270 
02271 
02302     SubscriberSeq getSubscriberFilter(in SubscriberId sid,
02303                                       in string filter,
02304                                       in unsigned long how_many,
02305                                       out SubscriberIterator iter,
02306                                       out unsigned long total)
02307       raises (SAEException);
02308 
02309 
02310     // manipulate ServiceActivationEngine
02311 
02312 
02346     void registerLogin(in string macAddress,
02347                        in wstring loginDescription,
02348                        in string loginName,
02349                        in string password,
02350                        in string vrName,
02351                        in string interfaceName)
02352       raises (LoginException, SAEException);
02353 
02354 
02391     void registerLoginCredentials(in string macAddress,
02392                                   in wstring loginDescription,
02393                                   in string loginName,
02394                                   in string password,
02395                                   in string vrName,
02396                                   in string interfaceName)
02397       raises (LoginException, SAEException);
02398 
02399 
02430     void registerNextLogin(in string macAddress,
02431                            in wstring loginDescription,
02432                            in string loginName,
02433                            in string password,
02434                            in string vrName,
02435                            in string interfaceName)
02436       raises (LoginException, SAEException);
02437 
02438 
02460     void unregisterLogin(in string macAddress,
02461                          in string loginName,
02462                          in string password)
02463       raises (LoginException, SAEException);
02464 
02465 
02493     void registerEquipment(in string macAddress,
02494                            in wstring equipmentDescription,
02495                            in string loginName,
02496                            in string password,
02497                            in string vrName,
02498                            in string interfaceName)
02499       raises (SAEException);
02500 
02501 
02532     void registerEquipmentAttr(in string macAddress,
02533                                in wstring equipmentDescription,
02534                                in string loginName,
02535                                in string password,
02536                                in string vrName,
02537                                in string interfaceName,
02538                                in DhcpAttributes attr)
02539       raises (SAEException);
02540 
02541 
02560     void unregisterEquipment(in string macAddress,
02561                              in string loginName,
02562                              in string password)
02563       raises (SAEException);
02564 
02565 
02587     boolean loginUser(in string userIp,
02588                       in string loginName,
02589                       in string password)
02590       raises (LoginException, SAEException);
02591 
02592 
02615     RegistrationSeq getRegisteredLogins(in string login,
02616                                         in string password)
02617       raises(LoginException, SAEException);
02618 
02619 
02638     RegistrationSeq getRegisteredEquipment(in string login,
02639                                            in string password)
02640       raises(LoginException, SAEException);
02641 
02642   };
02643 };

Generated on Wed May 8 13:28:16 2013 for SAE API by  doxygen 1.4.7