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     string weeklyRecurFreq;
00143   };
00144 
00145 
00153   struct ScheduledTime {
00159     TimeSpec firstTimeSpec;
00160 
00166     TimeSpec secondTimeSpec;
00167   };
00168 
00169 
00184   struct ActionExt {
00186     unsigned long operation;
00187 
00189     wstring serviceName;
00190     
00192     AttrSeq attributes;
00193   };
00194 
00199   typedef sequence<ActionExt> ActionExtSeq;
00200 
00201 
00206   struct Action {
00208     unsigned long operation;
00209 
00211     wstring serviceName;
00212   };
00213 
00218   typedef sequence<Action> ActionSeq;
00219 
00221   typedef sequence<long long> LongLongSeq;
00222 
00223 
00228   struct ScheduleEntry {
00229      string id;                         
00230      ScheduledTime schedTime; 
00231      ActionExtSeq actions;      
00232         
00233 
00234   };
00235   
00237   typedef string ScheduleEntryId;
00238   
00240   typedef sequence<ScheduleEntryId> ScheduleEntryIdSeq;
00241 
00243   typedef sequence<ScheduleEntry> ScheduleEntrySeq;
00244 
00245 
00253   struct Select {
00254     
00274     StringSeq attributes;
00275 
00329     string filter;
00330   };
00331 
00332 
00338   struct IdxPair {
00339     unsigned long subIdx;       
00340     unsigned long svcIdx;       
00341   };
00342 
00344   typedef sequence<IdxPair> IdxPairSeq;
00345 
00357   struct ReadResult {
00358     IdxPairSeq result;          
00359     AttrSeqSeq subscription;    
00360     AttrSeqSeq service;         
00361 
00363     AttrSeq attributes;
00364   };
00365   
00366 
00367   /*********************************************************************
00368    * Exceptions raised by the interfaces
00369    */
00370 
00372   exception UnknownUserException {
00373     wstring userId;
00374     wstring message;
00375   };
00376   
00379   exception NonUniqueUserException {
00380     wstring userId;
00381     wstring message;
00382   };
00383 
00385   exception UnknownServiceException {
00386     wstring serviceName;
00387     wstring message;
00388   };
00389 
00391   exception UnknownServiceSessionException {
00392     wstring serviceName;
00393     wstring sessionName;
00394     wstring message;
00395   };
00396 
00398   exception UnknownSubscriptionException {
00399     wstring subscriptionName;
00400     wstring message;
00401   };
00402 
00404   exception SAEException {
00405     wstring message;
00406   };
00407 
00412   exception LoginException {
00413     string currentIp;
00414     string loginName;
00415     wstring message;
00416   };
00417 
00420   exception OverloadException {
00421     wstring message;
00422   };
00423 
00425   exception UnsupportedException {
00426     wstring message;
00427   };
00428   
00430   enum SAET {
00431     SAET_PUBLIC_IP_AUTHENTICATION,
00433     SAET_MUTEX_GROUPS,
00435     SAET_SERVICE_AUTHORIZATION,
00437     SAET_ANONYMOUS_USER,
00439     SAET_AUTH_PRECLUDES_ACTIVATE_ON_LOGIN,
00442     SAET_INHERITED_SUBSCRIPTION,
00444     SAET_SERVICE_UNAVAILABLE,
00446     SAET_SUBSCRIPTION_AUTHORIZATION,
00448     SAET_ACTIVATE_ONLY,
00450     SAET_INVISIBLE,
00452     SAET_FILTERED_OUT,
00454     SAET_NO_SESSION_MODIFICATION,
00456     SAET_TRANSIENT_EXCEPTION,
00458     SAET_PERSISTENT_ACTIVATION,
00460     SAET_MODIFY_EXCEPTION
00462   };
00463 
00465   exception ServiceAuthenticationException {
00466     SAET reason;
00467     wstring userIp;
00468     wstring serviceName;
00469     wstring sessionName;
00470     wstring message;
00471   };
00472   
00473   /*********************************************************************
00474    * SubscriberId
00475    */
00476 
00489   struct TimedAddress {
00490     string ipAddress;                
00491     unsigned long long timestamp;    
00492 
00493   };
00494 
00495 
00500   struct InterfaceName {
00501     string intfName;                    
00502     string vrName;                      
00503   };
00504 
00505 
00512   struct InterfaceIndex {
00513     unsigned long index;                
00514     string vrName;                      
00515   };
00516 
00517 
00524   struct AddrInterfaceName {
00525     string ipAddress;                   
00526     string intfName;                    
00527     string vrName;                      
00528 
00529 
00530   };
00531   
00532   struct TunnelSession {
00533     long tunnelId;              
00534     long tunnelSessionId;       
00535     string vrName;              
00536 
00537   };
00538 
00544   struct GlobalAddress {
00547     string ipAddress;
00549     string vpn_id;
00550   };
00551 
00557   struct GlobalLoginName {
00558     string login_name;                  
00559     string vpn_id;                      
00560   };
00561 
00563   enum SubscriberIdType {
00566     SIT_ADDRESS,
00567                         
00569     SIT_DN,
00570     
00572     SIT_LOGIN_NAME,
00573     
00576     SIT_IF_NAME,
00577     
00580     SIT_IF_INDEX,       
00581    
00583     SIT_PRIMARY_USER_NAME,
00584     
00587     SIT_ADDR_IF_NAME,
00588                     
00591     SIT_TUNNEL_SESSION,
00592 
00594     SIT_SESSIONID,          
00595     
00597     SIT_SESSION_HANDLE,
00598 
00600     SIT_GLOBAL_ADDRESS,
00601 
00603     SIT_GLOBAL_LOGIN_NAME
00604   };
00605 
00606 
00611   union SubscriberId switch(SubscriberIdType) {
00612     case SIT_ADDRESS:                   
00613       TimedAddress address;
00614     case SIT_DN:                        
00615       string dn;
00616     case SIT_LOGIN_NAME:                
00617       string login_name;
00618     case SIT_IF_NAME:                   
00619       InterfaceName if_name;
00620     case SIT_IF_INDEX:                  
00621       InterfaceIndex if_index;
00622     case SIT_PRIMARY_USER_NAME:         
00623       string primary_user_name;
00624     case SIT_ADDR_IF_NAME:              
00625       AddrInterfaceName addr_if_name;  
00626     case SIT_TUNNEL_SESSION:            
00627       TunnelSession tunnel_session;
00628     case SIT_SESSIONID:                 
00629       string sessionId;
00630     case SIT_SESSION_HANDLE:            
00631       string sessionHandle;
00632     case SIT_GLOBAL_ADDRESS:            
00633       GlobalAddress global_address;
00634     case SIT_GLOBAL_LOGIN_NAME:         
00635       GlobalLoginName global_login_name;
00636   };
00637 
00638 
00645   struct DhcpAttribute {
00646     string name;        
00647     string value;               
00648   };
00649 
00651   typedef sequence<DhcpAttribute> DhcpAttributes;
00652 
00653 
00663   interface Subscriber {
00664 
00665     
00699     ReadResult read(in Select subscription,
00700                     in Select service,
00701                     in StringSeq attributes)
00702       raises (SAEException, UnknownUserException, NonUniqueUserException);
00703 
00704 
00727     AttrSeq readSubscriber(in StringSeq attributes)
00728       raises (SAEException, UnknownUserException, NonUniqueUserException);
00729 
00730 
00751     AttrSeqSeq readSubscription(in Select selection)
00752       raises (SAEException, UnknownUserException, NonUniqueUserException);
00753 
00754 
00775     AttrSeqSeq readService(in Select selection)
00776       raises (SAEException, UnknownUserException, NonUniqueUserException);
00777 
00778     /*
00779      * Schedule manipulation for the subscriber
00780      */
00781 
00800     void addScheduleEntry(in ScheduleEntryId id,
00801                           in ScheduledTime schedTime,
00802                           in ActionExtSeq actions)
00803       raises (UnknownUserException,
00804               SAEException);
00805 
00806 
00825     void updateScheduleEntry(in ScheduleEntryId id,
00826                              in ScheduledTime schedTime,
00827                              in ActionExtSeq actions)
00828       raises (UnknownUserException,
00829               SAEException);
00830 
00831 
00846     void deleteScheduleEntry(in ScheduleEntryId id)
00847       raises (UnknownUserException,
00848               SAEException);
00849 
00850 
00870     ScheduleEntry getScheduleEntryById(in ScheduleEntryId id)
00871       raises (UnknownUserException,
00872               SAEException);
00873 
00874 
00895     ScheduleEntrySeq getScheduleEntriesByIds(in ScheduleEntryIdSeq ids)
00896       raises (UnknownUserException,
00897               SAEException);
00898 
00899 
00919     ScheduleEntryIdSeq getScheduleEntryIds(in long long startDate,
00920                                            in long long endDate)
00921       raises (UnknownUserException,
00922               SAEException);
00923 
00924 
00942     void addOneTimeScheduleEntry(in long long eventDate,
00943                                  in ActionSeq actions)
00944       raises (UnknownUserException,
00945               SAEException);
00946 
00947 
00965     void updateOneTimeScheduleEntryActions(in long long eventDate,
00966                                            in ActionSeq actions)
00967       raises (UnknownUserException,
00968               SAEException);
00969 
00970 
00989     void deleteOneTimeScheduleEntries(in long long startDate,
00990                                       in long long endDate)
00991       raises (UnknownUserException,
00992               SAEException);
00993 
00994 
01012     ActionSeq getOneTimeScheduleEntryActions(in long long eventDate)
01013       raises (UnknownUserException,
01014               SAEException);
01015 
01016 
01037     LongLongSeq getOneTimeScheduleEntryEventDates(in long long startDate,
01038                                                   in long long endDate)
01039       raises (UnknownUserException,
01040               SAEException);
01041 
01042 
01075     WStringSeq addSubscriptionAttributes(in string subscriptionName,
01076                                          in string userName,
01077                                          in string password,
01078                                          in AttrSeq subscriptionAttributes)
01079       raises (UnknownUserException,
01080               NonUniqueUserException,
01081               UnknownServiceException,
01082               ServiceAuthenticationException,
01083               SAEException);
01084 
01085 
01116     WStringSeq addSubscription(in string subscriptionName,
01117                                in string userName,
01118                                in string password)
01119       raises (UnknownUserException,
01120               NonUniqueUserException,
01121               UnknownServiceException,
01122               ServiceAuthenticationException,
01123               SAEException);
01124 
01125 
01157     WStringSeq deleteSubscription(in string subscriptionName,
01158                                   in string userName,
01159                                   in string password)
01160       raises (UnknownUserException,
01161               NonUniqueUserException,
01162               UnknownServiceException,
01163               UnknownSubscriptionException,
01164               ServiceAuthenticationException,
01165               SAEException);
01166 
01167 
01187     void setSessionTimeout(in unsigned long timeout)
01188       raises (UnknownUserException, NonUniqueUserException, SAEException);
01189 
01190     
01212     void updateSessionTimeout(in unsigned long timeout)
01213       raises (UnknownUserException, NonUniqueUserException, SAEException);  
01214      
01215 
01248     void updateServiceSessionTimeout(in string subscriptionName,
01249                                      in string sessionName,
01250                                      in unsigned long timeout)
01251       raises (UnknownUserException, 
01252               NonUniqueUserException,
01253               UnknownServiceException,
01254               UnknownSubscriptionException,
01255               SAEException); 
01256 
01257     
01278     boolean login(in string loginName,
01279                   in string password)
01280       raises (LoginException,
01281               SAEException);
01282 
01283 
01300     void logout()
01301       raises (UnknownUserException,
01302               SAEException);
01303 
01304 
01320     void disconnect()
01321       raises (UnknownUserException,
01322               NonUniqueUserException,
01323               UnsupportedException,
01324               SAEException);
01325 
01326 
01352     void grantPublicIp(in string loginName,
01353                        in string password)
01354       raises (UnknownUserException,
01355               ServiceAuthenticationException,
01356               SAEException);
01357 
01358 
01384     void grantPublicIpAttr(in string loginName,
01385                            in string password,
01386                            in DhcpAttributes attr)
01387       raises (UnknownUserException,
01388               ServiceAuthenticationException,
01389               SAEException);
01390 
01391 
01406     void revokePublicIp()
01407       raises (UnknownUserException,
01408               SAEException);
01409 
01410 
01449     void activateService(in string subscriptionName,
01450                          in string sessionName,
01451                          in AttrSeq activationAttributes)
01452       raises (UnknownUserException,
01453               NonUniqueUserException,
01454               UnknownServiceException,
01455               UnknownSubscriptionException,
01456               ServiceAuthenticationException,
01457               OverloadException,
01458               SAEException);
01459 
01460 
01504     string activateServiceSession(in string subscriptionName,
01505                                   in string sessionName,
01506                                   in AttrSeq activationAttributes)
01507       raises (UnknownUserException,
01508               NonUniqueUserException,
01509               UnknownServiceException,
01510               UnknownSubscriptionException,
01511               ServiceAuthenticationException,
01512               OverloadException,
01513               SAEException);
01514 
01515     
01546     void activateServiceBackground(in string subscriptionName,
01547                                    in string sessionName,
01548                                    in AttrSeq activationAttributes)
01549       raises (UnknownUserException,
01550               NonUniqueUserException,
01551               UnknownServiceException,
01552               UnknownSubscriptionException,
01553               ServiceAuthenticationException,
01554               OverloadException,
01555               SAEException);
01556       
01611     void modifyServiceSession(in string subscriptionName,
01612                               in string sessionName,
01613                               in AttrSeq activationAttributes)
01614       raises (UnknownUserException,
01615               NonUniqueUserException,
01616               UnknownServiceException,
01617               UnknownSubscriptionException,
01618               UnknownServiceSessionException,
01619               ServiceAuthenticationException,
01620               OverloadException,
01621               SAEException);
01622 
01626     void startModifyFragmentSession(in string subscriptionName,
01627                                     in string sessionName,
01628                                     in AttrSeq activationAttributes)
01629       raises (UnknownUserException,
01630               NonUniqueUserException,
01631               UnknownServiceException,
01632               UnknownSubscriptionException,
01633               UnknownServiceSessionException,
01634               ServiceAuthenticationException,
01635               SAEException);
01636 
01640     void finishModifyFragmentSession(in string subscriptionName,
01641                                      in string sessionName,
01642                                      in AttrSeq activationAttributes)
01643       raises (UnknownUserException,
01644               NonUniqueUserException,
01645               UnknownServiceException,
01646               UnknownSubscriptionException,
01647               UnknownServiceSessionException,
01648               ServiceAuthenticationException,
01649               OverloadException,
01650               SAEException);
01651 
01655     void undoModifyFragmentSession(in string subscriptionName,
01656                                    in string sessionName,
01657                                    in AttrSeq activationAttributes)
01658       raises (UnknownUserException,
01659               NonUniqueUserException,
01660               UnknownServiceException,
01661               UnknownSubscriptionException,
01662               UnknownServiceSessionException,
01663               ServiceAuthenticationException,
01664               OverloadException,
01665               SAEException);
01666     
01694     void deactivateService(in string subscriptionName,
01695                            in string sessionName)
01696       raises (UnknownUserException,
01697               NonUniqueUserException,
01698               UnknownServiceException,
01699               UnknownSubscriptionException,
01700               ServiceAuthenticationException,
01701               SAEException);
01702     
01730     void deactivateServiceBackground(in string subscriptionName,
01731                                      in string sessionName)
01732       raises (UnknownUserException,
01733               NonUniqueUserException,
01734               UnknownServiceException,
01735               UnknownSubscriptionException,
01736               ServiceAuthenticationException,
01737               SAEException);
01738 
01739 
01773     void deactivateServiceReason(in string subscriptionName,
01774                                  in string sessionName,
01775                                  in long reason)
01776       raises (UnknownUserException,
01777               NonUniqueUserException,
01778               UnknownServiceException,
01779               UnknownSubscriptionException,
01780               ServiceAuthenticationException,
01781               SAEException);
01782     
01817     void deactivateServiceBackgroundReason(in string subscriptionName,
01818                                            in string sessionName,
01819                                            in long reason)
01820       raises (UnknownUserException,
01821               NonUniqueUserException,
01822               UnknownServiceException,
01823               UnknownSubscriptionException,
01824               ServiceAuthenticationException,
01825               SAEException);
01826 
01830     void fragmentDown(in string aggregateSubscriptionName,
01831                       in string aggregateSessionName,
01832                       in string fragmentSessionId)
01833       raises (UnknownUserException,
01834               NonUniqueUserException,
01835               UnknownServiceException,
01836               UnknownSubscriptionException,
01837               UnknownServiceSessionException,
01838               SAEException);
01839 
01843     void fragmentReactivating(in string aggregateSubscriptionName,
01844                               in string aggregateSessionName,
01845                               in string fragmentSessionId)
01846       raises (UnknownUserException,
01847               NonUniqueUserException,
01848               UnknownServiceException,
01849               UnknownSubscriptionException,
01850               UnknownServiceSessionException,
01851               SAEException);
01852 
01853 
01887     void setActivationTrigger(in string subscriptionName,
01888                               in string activationTrigger)
01889       raises (UnknownUserException,
01890               NonUniqueUserException,
01891               UnknownServiceException,
01892               UnknownSubscriptionException,
01893               ServiceAuthenticationException,
01894               SAEException);
01895 
01896 
01922     void setPersistentSession(in string subscriptionName,
01923                               in string sessionName,
01924                               in AttrSeq persistentSessionAttributes)
01925       raises (UnknownUserException,
01926               NonUniqueUserException,
01927               UnknownServiceException,
01928               SAEException);
01929 
01930 
01954     void deletePersistentSession(in string subscriptionName,
01955                                  in string sessionName)
01956       raises (UnknownUserException,
01957               NonUniqueUserException,
01958               UnknownServiceException,
01959               SAEException);
01960 
01961                                  
01985     void modifyPersistentSession(in string subscriptionName,
01986                                  in string sessionName,
01987                                  in boolean active)
01988       raises (UnknownUserException,
01989               NonUniqueUserException,
01990               UnknownServiceException,
01991               SAEException);
01992 
01993 
02016     void setInterimTime(in string subscriptionName,
02017                         in string sessionName,
02018                         in unsigned long time)
02019       raises (UnknownUserException,
02020               NonUniqueUserException,
02021               UnknownServiceException,
02022               SAEException);
02023 
02024                                  
02047     void setSessionVolumeQuota(in string subscriptionName,
02048                                in string sessionName,
02049                                in string sessionVolumeQuota)
02050       raises (UnknownUserException,
02051               NonUniqueUserException,
02052               UnknownServiceException,
02053               SAEException);
02054 
02055 
02091     AttrSeqSeq getUsage(in Select selection)
02092       raises (SAEException,
02093               UnknownUserException,
02094               NonUniqueUserException,
02095               OverloadException);
02096     
02114     void setProperty(in string aProperty)
02115       raises (SAEException,
02116               UnknownUserException,
02117               NonUniqueUserException);
02118   };
02119 
02120  
02124   typedef sequence<Subscriber> SubscriberSeq;
02125 
02126 
02132   struct Registration {
02133     string macAddress;          
02134     string loginName;           
02135     string userDn;              
02136     string intfName;
02138     string vrName;
02140     wstring description;
02142                               
02143   };
02144 
02146   typedef sequence<Registration> RegistrationSeq;
02147 
02155   interface SubscriberIterator {
02156 
02157 
02170     SubscriberSeq next_n(in unsigned long how_many,
02171                          out boolean more);
02172 
02173 
02178     void destroy();
02179   };
02180 
02181  
02189   interface SAEAccess: SAEFeature {
02190    
02191 
02206     Subscriber getSubscriber(in SubscriberId sid)
02207       raises (UnknownUserException, NonUniqueUserException);
02208 
02209 
02231     SubscriberSeq getSubscriberSet(in SubscriberId sid,
02232                                    in unsigned long how_many,
02233                                    out SubscriberIterator iter,
02234                                    out unsigned long total);
02235 
02236 
02266     SubscriberSeq findSubscriber(in string filter,
02267                                  in unsigned long how_many,
02268                                  out SubscriberIterator iter,
02269                                  out unsigned long total)
02270       raises (SAEException);
02271 
02272 
02303     SubscriberSeq getSubscriberFilter(in SubscriberId sid,
02304                                       in string filter,
02305                                       in unsigned long how_many,
02306                                       out SubscriberIterator iter,
02307                                       out unsigned long total)
02308       raises (SAEException);
02309 
02310 
02311     // manipulate ServiceActivationEngine
02312 
02313 
02347     void registerLogin(in string macAddress,
02348                        in wstring loginDescription,
02349                        in string loginName,
02350                        in string password,
02351                        in string vrName,
02352                        in string interfaceName)
02353       raises (LoginException, SAEException);
02354 
02355 
02392     void registerLoginCredentials(in string macAddress,
02393                                   in wstring loginDescription,
02394                                   in string loginName,
02395                                   in string password,
02396                                   in string vrName,
02397                                   in string interfaceName)
02398       raises (LoginException, SAEException);
02399 
02400 
02431     void registerNextLogin(in string macAddress,
02432                            in wstring loginDescription,
02433                            in string loginName,
02434                            in string password,
02435                            in string vrName,
02436                            in string interfaceName)
02437       raises (LoginException, SAEException);
02438 
02439 
02461     void unregisterLogin(in string macAddress,
02462                          in string loginName,
02463                          in string password)
02464       raises (LoginException, SAEException);
02465 
02466 
02494     void registerEquipment(in string macAddress,
02495                            in wstring equipmentDescription,
02496                            in string loginName,
02497                            in string password,
02498                            in string vrName,
02499                            in string interfaceName)
02500       raises (SAEException);
02501 
02502 
02533     void registerEquipmentAttr(in string macAddress,
02534                                in wstring equipmentDescription,
02535                                in string loginName,
02536                                in string password,
02537                                in string vrName,
02538                                in string interfaceName,
02539                                in DhcpAttributes attr)
02540       raises (SAEException);
02541 
02542 
02561     void unregisterEquipment(in string macAddress,
02562                              in string loginName,
02563                              in string password)
02564       raises (SAEException);
02565 
02566 
02588     boolean loginUser(in string userIp,
02589                       in string loginName,
02590                       in string password)
02591       raises (LoginException, SAEException);
02592 
02593 
02616     RegistrationSeq getRegisteredLogins(in string login,
02617                                         in string password)
02618       raises(LoginException, SAEException);
02619 
02620 
02639     RegistrationSeq getRegisteredEquipment(in string login,
02640                                            in string password)
02641       raises(LoginException, SAEException);
02642 
02643   };
02644 };

Generated on Fri Sep 25 17:35:43 2015 for SAE API by  doxygen 1.4.7