You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sh...@apache.org on 2016/04/23 04:00:38 UTC

[26/35] airavata git commit: adding backend functionality for notifications

http://git-wip-us.apache.org/repos/asf/airavata/blob/47290ad1/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
index 82c79ff..278d61f 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
@@ -159,6 +159,19 @@ class AiravataIf {
   virtual bool isGatewayExist(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId) = 0;
 
   /**
+   *   * API methods to retrieve notifications
+   * *
+   * 
+   * @param authzToken
+   * @param notification
+   */
+  virtual void createNotification(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::workspace::Notification& notification) = 0;
+  virtual void updateNotification(const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::workspace::Notification& notification) = 0;
+  virtual void deleteNotification(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& notificationId) = 0;
+  virtual void getNotification( ::apache::airavata::model::workspace::Notification& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& notificationId) = 0;
+  virtual void getAllNotifications(std::vector< ::apache::airavata::model::workspace::Notification> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId) = 0;
+
+  /**
    * Generate and Register SSH Key Pair with Airavata Credential Store.
    * 
    * @param gatewayId
@@ -2677,6 +2690,21 @@ class AiravataNull : virtual public AiravataIf {
     bool _return = false;
     return _return;
   }
+  void createNotification(std::string& /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const  ::apache::airavata::model::workspace::Notification& /* notification */) {
+    return;
+  }
+  void updateNotification(const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const  ::apache::airavata::model::workspace::Notification& /* notification */) {
+    return;
+  }
+  void deleteNotification(const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* gatewayId */, const std::string& /* notificationId */) {
+    return;
+  }
+  void getNotification( ::apache::airavata::model::workspace::Notification& /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* gatewayId */, const std::string& /* notificationId */) {
+    return;
+  }
+  void getAllNotifications(std::vector< ::apache::airavata::model::workspace::Notification> & /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* gatewayId */) {
+    return;
+  }
   void generateAndRegisterSSHKeys(std::string& /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* gatewayId */, const std::string& /* userName */) {
     return;
   }
@@ -3450,16 +3478,688 @@ class Airavata_addGateway_result {
   Airavata_addGateway_result() : success() {
   }
 
-  virtual ~Airavata_addGateway_result() throw();
-  std::string success;
+  virtual ~Airavata_addGateway_result() throw();
+  std::string success;
+   ::apache::airavata::api::error::InvalidRequestException ire;
+   ::apache::airavata::api::error::AiravataClientException ace;
+   ::apache::airavata::api::error::AiravataSystemException ase;
+   ::apache::airavata::api::error::AuthorizationException ae;
+
+  _Airavata_addGateway_result__isset __isset;
+
+  void __set_success(const std::string& val);
+
+  void __set_ire(const  ::apache::airavata::api::error::InvalidRequestException& val);
+
+  void __set_ace(const  ::apache::airavata::api::error::AiravataClientException& val);
+
+  void __set_ase(const  ::apache::airavata::api::error::AiravataSystemException& val);
+
+  void __set_ae(const  ::apache::airavata::api::error::AuthorizationException& val);
+
+  bool operator == (const Airavata_addGateway_result & rhs) const
+  {
+    if (!(success == rhs.success))
+      return false;
+    if (!(ire == rhs.ire))
+      return false;
+    if (!(ace == rhs.ace))
+      return false;
+    if (!(ase == rhs.ase))
+      return false;
+    if (!(ae == rhs.ae))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_addGateway_result &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_addGateway_result & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_addGateway_presult__isset {
+  _Airavata_addGateway_presult__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
+  bool success :1;
+  bool ire :1;
+  bool ace :1;
+  bool ase :1;
+  bool ae :1;
+} _Airavata_addGateway_presult__isset;
+
+class Airavata_addGateway_presult {
+ public:
+
+
+  virtual ~Airavata_addGateway_presult() throw();
+  std::string* success;
+   ::apache::airavata::api::error::InvalidRequestException ire;
+   ::apache::airavata::api::error::AiravataClientException ace;
+   ::apache::airavata::api::error::AiravataSystemException ase;
+   ::apache::airavata::api::error::AuthorizationException ae;
+
+  _Airavata_addGateway_presult__isset __isset;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class Airavata_updateGateway_args {
+ public:
+
+  Airavata_updateGateway_args(const Airavata_updateGateway_args&);
+  Airavata_updateGateway_args& operator=(const Airavata_updateGateway_args&);
+  Airavata_updateGateway_args() : gatewayId() {
+  }
+
+  virtual ~Airavata_updateGateway_args() throw();
+   ::apache::airavata::model::security::AuthzToken authzToken;
+  std::string gatewayId;
+   ::apache::airavata::model::workspace::Gateway updatedGateway;
+
+  void __set_authzToken(const  ::apache::airavata::model::security::AuthzToken& val);
+
+  void __set_gatewayId(const std::string& val);
+
+  void __set_updatedGateway(const  ::apache::airavata::model::workspace::Gateway& val);
+
+  bool operator == (const Airavata_updateGateway_args & rhs) const
+  {
+    if (!(authzToken == rhs.authzToken))
+      return false;
+    if (!(gatewayId == rhs.gatewayId))
+      return false;
+    if (!(updatedGateway == rhs.updatedGateway))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_updateGateway_args &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_updateGateway_args & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_updateGateway_pargs {
+ public:
+
+
+  virtual ~Airavata_updateGateway_pargs() throw();
+  const  ::apache::airavata::model::security::AuthzToken* authzToken;
+  const std::string* gatewayId;
+  const  ::apache::airavata::model::workspace::Gateway* updatedGateway;
+
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_updateGateway_result__isset {
+  _Airavata_updateGateway_result__isset() : ire(false), ace(false), ase(false), ae(false) {}
+  bool ire :1;
+  bool ace :1;
+  bool ase :1;
+  bool ae :1;
+} _Airavata_updateGateway_result__isset;
+
+class Airavata_updateGateway_result {
+ public:
+
+  Airavata_updateGateway_result(const Airavata_updateGateway_result&);
+  Airavata_updateGateway_result& operator=(const Airavata_updateGateway_result&);
+  Airavata_updateGateway_result() {
+  }
+
+  virtual ~Airavata_updateGateway_result() throw();
+   ::apache::airavata::api::error::InvalidRequestException ire;
+   ::apache::airavata::api::error::AiravataClientException ace;
+   ::apache::airavata::api::error::AiravataSystemException ase;
+   ::apache::airavata::api::error::AuthorizationException ae;
+
+  _Airavata_updateGateway_result__isset __isset;
+
+  void __set_ire(const  ::apache::airavata::api::error::InvalidRequestException& val);
+
+  void __set_ace(const  ::apache::airavata::api::error::AiravataClientException& val);
+
+  void __set_ase(const  ::apache::airavata::api::error::AiravataSystemException& val);
+
+  void __set_ae(const  ::apache::airavata::api::error::AuthorizationException& val);
+
+  bool operator == (const Airavata_updateGateway_result & rhs) const
+  {
+    if (!(ire == rhs.ire))
+      return false;
+    if (!(ace == rhs.ace))
+      return false;
+    if (!(ase == rhs.ase))
+      return false;
+    if (!(ae == rhs.ae))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_updateGateway_result &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_updateGateway_result & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_updateGateway_presult__isset {
+  _Airavata_updateGateway_presult__isset() : ire(false), ace(false), ase(false), ae(false) {}
+  bool ire :1;
+  bool ace :1;
+  bool ase :1;
+  bool ae :1;
+} _Airavata_updateGateway_presult__isset;
+
+class Airavata_updateGateway_presult {
+ public:
+
+
+  virtual ~Airavata_updateGateway_presult() throw();
+   ::apache::airavata::api::error::InvalidRequestException ire;
+   ::apache::airavata::api::error::AiravataClientException ace;
+   ::apache::airavata::api::error::AiravataSystemException ase;
+   ::apache::airavata::api::error::AuthorizationException ae;
+
+  _Airavata_updateGateway_presult__isset __isset;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class Airavata_getGateway_args {
+ public:
+
+  Airavata_getGateway_args(const Airavata_getGateway_args&);
+  Airavata_getGateway_args& operator=(const Airavata_getGateway_args&);
+  Airavata_getGateway_args() : gatewayId() {
+  }
+
+  virtual ~Airavata_getGateway_args() throw();
+   ::apache::airavata::model::security::AuthzToken authzToken;
+  std::string gatewayId;
+
+  void __set_authzToken(const  ::apache::airavata::model::security::AuthzToken& val);
+
+  void __set_gatewayId(const std::string& val);
+
+  bool operator == (const Airavata_getGateway_args & rhs) const
+  {
+    if (!(authzToken == rhs.authzToken))
+      return false;
+    if (!(gatewayId == rhs.gatewayId))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_getGateway_args &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_getGateway_args & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_getGateway_pargs {
+ public:
+
+
+  virtual ~Airavata_getGateway_pargs() throw();
+  const  ::apache::airavata::model::security::AuthzToken* authzToken;
+  const std::string* gatewayId;
+
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_getGateway_result__isset {
+  _Airavata_getGateway_result__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
+  bool success :1;
+  bool ire :1;
+  bool ace :1;
+  bool ase :1;
+  bool ae :1;
+} _Airavata_getGateway_result__isset;
+
+class Airavata_getGateway_result {
+ public:
+
+  Airavata_getGateway_result(const Airavata_getGateway_result&);
+  Airavata_getGateway_result& operator=(const Airavata_getGateway_result&);
+  Airavata_getGateway_result() {
+  }
+
+  virtual ~Airavata_getGateway_result() throw();
+   ::apache::airavata::model::workspace::Gateway success;
+   ::apache::airavata::api::error::InvalidRequestException ire;
+   ::apache::airavata::api::error::AiravataClientException ace;
+   ::apache::airavata::api::error::AiravataSystemException ase;
+   ::apache::airavata::api::error::AuthorizationException ae;
+
+  _Airavata_getGateway_result__isset __isset;
+
+  void __set_success(const  ::apache::airavata::model::workspace::Gateway& val);
+
+  void __set_ire(const  ::apache::airavata::api::error::InvalidRequestException& val);
+
+  void __set_ace(const  ::apache::airavata::api::error::AiravataClientException& val);
+
+  void __set_ase(const  ::apache::airavata::api::error::AiravataSystemException& val);
+
+  void __set_ae(const  ::apache::airavata::api::error::AuthorizationException& val);
+
+  bool operator == (const Airavata_getGateway_result & rhs) const
+  {
+    if (!(success == rhs.success))
+      return false;
+    if (!(ire == rhs.ire))
+      return false;
+    if (!(ace == rhs.ace))
+      return false;
+    if (!(ase == rhs.ase))
+      return false;
+    if (!(ae == rhs.ae))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_getGateway_result &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_getGateway_result & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_getGateway_presult__isset {
+  _Airavata_getGateway_presult__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
+  bool success :1;
+  bool ire :1;
+  bool ace :1;
+  bool ase :1;
+  bool ae :1;
+} _Airavata_getGateway_presult__isset;
+
+class Airavata_getGateway_presult {
+ public:
+
+
+  virtual ~Airavata_getGateway_presult() throw();
+   ::apache::airavata::model::workspace::Gateway* success;
+   ::apache::airavata::api::error::InvalidRequestException ire;
+   ::apache::airavata::api::error::AiravataClientException ace;
+   ::apache::airavata::api::error::AiravataSystemException ase;
+   ::apache::airavata::api::error::AuthorizationException ae;
+
+  _Airavata_getGateway_presult__isset __isset;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class Airavata_deleteGateway_args {
+ public:
+
+  Airavata_deleteGateway_args(const Airavata_deleteGateway_args&);
+  Airavata_deleteGateway_args& operator=(const Airavata_deleteGateway_args&);
+  Airavata_deleteGateway_args() : gatewayId() {
+  }
+
+  virtual ~Airavata_deleteGateway_args() throw();
+   ::apache::airavata::model::security::AuthzToken authzToken;
+  std::string gatewayId;
+
+  void __set_authzToken(const  ::apache::airavata::model::security::AuthzToken& val);
+
+  void __set_gatewayId(const std::string& val);
+
+  bool operator == (const Airavata_deleteGateway_args & rhs) const
+  {
+    if (!(authzToken == rhs.authzToken))
+      return false;
+    if (!(gatewayId == rhs.gatewayId))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_deleteGateway_args &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_deleteGateway_args & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_deleteGateway_pargs {
+ public:
+
+
+  virtual ~Airavata_deleteGateway_pargs() throw();
+  const  ::apache::airavata::model::security::AuthzToken* authzToken;
+  const std::string* gatewayId;
+
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_deleteGateway_result__isset {
+  _Airavata_deleteGateway_result__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
+  bool success :1;
+  bool ire :1;
+  bool ace :1;
+  bool ase :1;
+  bool ae :1;
+} _Airavata_deleteGateway_result__isset;
+
+class Airavata_deleteGateway_result {
+ public:
+
+  Airavata_deleteGateway_result(const Airavata_deleteGateway_result&);
+  Airavata_deleteGateway_result& operator=(const Airavata_deleteGateway_result&);
+  Airavata_deleteGateway_result() : success(0) {
+  }
+
+  virtual ~Airavata_deleteGateway_result() throw();
+  bool success;
+   ::apache::airavata::api::error::InvalidRequestException ire;
+   ::apache::airavata::api::error::AiravataClientException ace;
+   ::apache::airavata::api::error::AiravataSystemException ase;
+   ::apache::airavata::api::error::AuthorizationException ae;
+
+  _Airavata_deleteGateway_result__isset __isset;
+
+  void __set_success(const bool val);
+
+  void __set_ire(const  ::apache::airavata::api::error::InvalidRequestException& val);
+
+  void __set_ace(const  ::apache::airavata::api::error::AiravataClientException& val);
+
+  void __set_ase(const  ::apache::airavata::api::error::AiravataSystemException& val);
+
+  void __set_ae(const  ::apache::airavata::api::error::AuthorizationException& val);
+
+  bool operator == (const Airavata_deleteGateway_result & rhs) const
+  {
+    if (!(success == rhs.success))
+      return false;
+    if (!(ire == rhs.ire))
+      return false;
+    if (!(ace == rhs.ace))
+      return false;
+    if (!(ase == rhs.ase))
+      return false;
+    if (!(ae == rhs.ae))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_deleteGateway_result &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_deleteGateway_result & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_deleteGateway_presult__isset {
+  _Airavata_deleteGateway_presult__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
+  bool success :1;
+  bool ire :1;
+  bool ace :1;
+  bool ase :1;
+  bool ae :1;
+} _Airavata_deleteGateway_presult__isset;
+
+class Airavata_deleteGateway_presult {
+ public:
+
+
+  virtual ~Airavata_deleteGateway_presult() throw();
+  bool* success;
+   ::apache::airavata::api::error::InvalidRequestException ire;
+   ::apache::airavata::api::error::AiravataClientException ace;
+   ::apache::airavata::api::error::AiravataSystemException ase;
+   ::apache::airavata::api::error::AuthorizationException ae;
+
+  _Airavata_deleteGateway_presult__isset __isset;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class Airavata_getAllGateways_args {
+ public:
+
+  Airavata_getAllGateways_args(const Airavata_getAllGateways_args&);
+  Airavata_getAllGateways_args& operator=(const Airavata_getAllGateways_args&);
+  Airavata_getAllGateways_args() {
+  }
+
+  virtual ~Airavata_getAllGateways_args() throw();
+   ::apache::airavata::model::security::AuthzToken authzToken;
+
+  void __set_authzToken(const  ::apache::airavata::model::security::AuthzToken& val);
+
+  bool operator == (const Airavata_getAllGateways_args & rhs) const
+  {
+    if (!(authzToken == rhs.authzToken))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_getAllGateways_args &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_getAllGateways_args & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_getAllGateways_pargs {
+ public:
+
+
+  virtual ~Airavata_getAllGateways_pargs() throw();
+  const  ::apache::airavata::model::security::AuthzToken* authzToken;
+
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_getAllGateways_result__isset {
+  _Airavata_getAllGateways_result__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
+  bool success :1;
+  bool ire :1;
+  bool ace :1;
+  bool ase :1;
+  bool ae :1;
+} _Airavata_getAllGateways_result__isset;
+
+class Airavata_getAllGateways_result {
+ public:
+
+  Airavata_getAllGateways_result(const Airavata_getAllGateways_result&);
+  Airavata_getAllGateways_result& operator=(const Airavata_getAllGateways_result&);
+  Airavata_getAllGateways_result() {
+  }
+
+  virtual ~Airavata_getAllGateways_result() throw();
+  std::vector< ::apache::airavata::model::workspace::Gateway>  success;
+   ::apache::airavata::api::error::InvalidRequestException ire;
+   ::apache::airavata::api::error::AiravataClientException ace;
+   ::apache::airavata::api::error::AiravataSystemException ase;
+   ::apache::airavata::api::error::AuthorizationException ae;
+
+  _Airavata_getAllGateways_result__isset __isset;
+
+  void __set_success(const std::vector< ::apache::airavata::model::workspace::Gateway> & val);
+
+  void __set_ire(const  ::apache::airavata::api::error::InvalidRequestException& val);
+
+  void __set_ace(const  ::apache::airavata::api::error::AiravataClientException& val);
+
+  void __set_ase(const  ::apache::airavata::api::error::AiravataSystemException& val);
+
+  void __set_ae(const  ::apache::airavata::api::error::AuthorizationException& val);
+
+  bool operator == (const Airavata_getAllGateways_result & rhs) const
+  {
+    if (!(success == rhs.success))
+      return false;
+    if (!(ire == rhs.ire))
+      return false;
+    if (!(ace == rhs.ace))
+      return false;
+    if (!(ase == rhs.ase))
+      return false;
+    if (!(ae == rhs.ae))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_getAllGateways_result &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_getAllGateways_result & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_getAllGateways_presult__isset {
+  _Airavata_getAllGateways_presult__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
+  bool success :1;
+  bool ire :1;
+  bool ace :1;
+  bool ase :1;
+  bool ae :1;
+} _Airavata_getAllGateways_presult__isset;
+
+class Airavata_getAllGateways_presult {
+ public:
+
+
+  virtual ~Airavata_getAllGateways_presult() throw();
+  std::vector< ::apache::airavata::model::workspace::Gateway> * success;
+   ::apache::airavata::api::error::InvalidRequestException ire;
+   ::apache::airavata::api::error::AiravataClientException ace;
+   ::apache::airavata::api::error::AiravataSystemException ase;
+   ::apache::airavata::api::error::AuthorizationException ae;
+
+  _Airavata_getAllGateways_presult__isset __isset;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class Airavata_isGatewayExist_args {
+ public:
+
+  Airavata_isGatewayExist_args(const Airavata_isGatewayExist_args&);
+  Airavata_isGatewayExist_args& operator=(const Airavata_isGatewayExist_args&);
+  Airavata_isGatewayExist_args() : gatewayId() {
+  }
+
+  virtual ~Airavata_isGatewayExist_args() throw();
+   ::apache::airavata::model::security::AuthzToken authzToken;
+  std::string gatewayId;
+
+  void __set_authzToken(const  ::apache::airavata::model::security::AuthzToken& val);
+
+  void __set_gatewayId(const std::string& val);
+
+  bool operator == (const Airavata_isGatewayExist_args & rhs) const
+  {
+    if (!(authzToken == rhs.authzToken))
+      return false;
+    if (!(gatewayId == rhs.gatewayId))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_isGatewayExist_args &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_isGatewayExist_args & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_isGatewayExist_pargs {
+ public:
+
+
+  virtual ~Airavata_isGatewayExist_pargs() throw();
+  const  ::apache::airavata::model::security::AuthzToken* authzToken;
+  const std::string* gatewayId;
+
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_isGatewayExist_result__isset {
+  _Airavata_isGatewayExist_result__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
+  bool success :1;
+  bool ire :1;
+  bool ace :1;
+  bool ase :1;
+  bool ae :1;
+} _Airavata_isGatewayExist_result__isset;
+
+class Airavata_isGatewayExist_result {
+ public:
+
+  Airavata_isGatewayExist_result(const Airavata_isGatewayExist_result&);
+  Airavata_isGatewayExist_result& operator=(const Airavata_isGatewayExist_result&);
+  Airavata_isGatewayExist_result() : success(0) {
+  }
+
+  virtual ~Airavata_isGatewayExist_result() throw();
+  bool success;
    ::apache::airavata::api::error::InvalidRequestException ire;
    ::apache::airavata::api::error::AiravataClientException ace;
    ::apache::airavata::api::error::AiravataSystemException ase;
    ::apache::airavata::api::error::AuthorizationException ae;
 
-  _Airavata_addGateway_result__isset __isset;
+  _Airavata_isGatewayExist_result__isset __isset;
 
-  void __set_success(const std::string& val);
+  void __set_success(const bool val);
 
   void __set_ire(const  ::apache::airavata::api::error::InvalidRequestException& val);
 
@@ -3469,7 +4169,7 @@ class Airavata_addGateway_result {
 
   void __set_ae(const  ::apache::airavata::api::error::AuthorizationException& val);
 
-  bool operator == (const Airavata_addGateway_result & rhs) const
+  bool operator == (const Airavata_isGatewayExist_result & rhs) const
   {
     if (!(success == rhs.success))
       return false;
@@ -3483,78 +4183,73 @@ class Airavata_addGateway_result {
       return false;
     return true;
   }
-  bool operator != (const Airavata_addGateway_result &rhs) const {
+  bool operator != (const Airavata_isGatewayExist_result &rhs) const {
     return !(*this == rhs);
   }
 
-  bool operator < (const Airavata_addGateway_result & ) const;
+  bool operator < (const Airavata_isGatewayExist_result & ) const;
 
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
 };
 
-typedef struct _Airavata_addGateway_presult__isset {
-  _Airavata_addGateway_presult__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
+typedef struct _Airavata_isGatewayExist_presult__isset {
+  _Airavata_isGatewayExist_presult__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
   bool success :1;
   bool ire :1;
   bool ace :1;
   bool ase :1;
   bool ae :1;
-} _Airavata_addGateway_presult__isset;
+} _Airavata_isGatewayExist_presult__isset;
 
-class Airavata_addGateway_presult {
+class Airavata_isGatewayExist_presult {
  public:
 
 
-  virtual ~Airavata_addGateway_presult() throw();
-  std::string* success;
+  virtual ~Airavata_isGatewayExist_presult() throw();
+  bool* success;
    ::apache::airavata::api::error::InvalidRequestException ire;
    ::apache::airavata::api::error::AiravataClientException ace;
    ::apache::airavata::api::error::AiravataSystemException ase;
    ::apache::airavata::api::error::AuthorizationException ae;
 
-  _Airavata_addGateway_presult__isset __isset;
+  _Airavata_isGatewayExist_presult__isset __isset;
 
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
 
 };
 
 
-class Airavata_updateGateway_args {
+class Airavata_createNotification_args {
  public:
 
-  Airavata_updateGateway_args(const Airavata_updateGateway_args&);
-  Airavata_updateGateway_args& operator=(const Airavata_updateGateway_args&);
-  Airavata_updateGateway_args() : gatewayId() {
+  Airavata_createNotification_args(const Airavata_createNotification_args&);
+  Airavata_createNotification_args& operator=(const Airavata_createNotification_args&);
+  Airavata_createNotification_args() {
   }
 
-  virtual ~Airavata_updateGateway_args() throw();
+  virtual ~Airavata_createNotification_args() throw();
    ::apache::airavata::model::security::AuthzToken authzToken;
-  std::string gatewayId;
-   ::apache::airavata::model::workspace::Gateway updatedGateway;
+   ::apache::airavata::model::workspace::Notification notification;
 
   void __set_authzToken(const  ::apache::airavata::model::security::AuthzToken& val);
 
-  void __set_gatewayId(const std::string& val);
-
-  void __set_updatedGateway(const  ::apache::airavata::model::workspace::Gateway& val);
+  void __set_notification(const  ::apache::airavata::model::workspace::Notification& val);
 
-  bool operator == (const Airavata_updateGateway_args & rhs) const
+  bool operator == (const Airavata_createNotification_args & rhs) const
   {
     if (!(authzToken == rhs.authzToken))
       return false;
-    if (!(gatewayId == rhs.gatewayId))
-      return false;
-    if (!(updatedGateway == rhs.updatedGateway))
+    if (!(notification == rhs.notification))
       return false;
     return true;
   }
-  bool operator != (const Airavata_updateGateway_args &rhs) const {
+  bool operator != (const Airavata_createNotification_args &rhs) const {
     return !(*this == rhs);
   }
 
-  bool operator < (const Airavata_updateGateway_args & ) const;
+  bool operator < (const Airavata_createNotification_args & ) const;
 
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
@@ -3562,42 +4257,45 @@ class Airavata_updateGateway_args {
 };
 
 
-class Airavata_updateGateway_pargs {
+class Airavata_createNotification_pargs {
  public:
 
 
-  virtual ~Airavata_updateGateway_pargs() throw();
+  virtual ~Airavata_createNotification_pargs() throw();
   const  ::apache::airavata::model::security::AuthzToken* authzToken;
-  const std::string* gatewayId;
-  const  ::apache::airavata::model::workspace::Gateway* updatedGateway;
+  const  ::apache::airavata::model::workspace::Notification* notification;
 
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
 };
 
-typedef struct _Airavata_updateGateway_result__isset {
-  _Airavata_updateGateway_result__isset() : ire(false), ace(false), ase(false), ae(false) {}
+typedef struct _Airavata_createNotification_result__isset {
+  _Airavata_createNotification_result__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
+  bool success :1;
   bool ire :1;
   bool ace :1;
   bool ase :1;
   bool ae :1;
-} _Airavata_updateGateway_result__isset;
+} _Airavata_createNotification_result__isset;
 
-class Airavata_updateGateway_result {
+class Airavata_createNotification_result {
  public:
 
-  Airavata_updateGateway_result(const Airavata_updateGateway_result&);
-  Airavata_updateGateway_result& operator=(const Airavata_updateGateway_result&);
-  Airavata_updateGateway_result() {
+  Airavata_createNotification_result(const Airavata_createNotification_result&);
+  Airavata_createNotification_result& operator=(const Airavata_createNotification_result&);
+  Airavata_createNotification_result() : success() {
   }
 
-  virtual ~Airavata_updateGateway_result() throw();
+  virtual ~Airavata_createNotification_result() throw();
+  std::string success;
    ::apache::airavata::api::error::InvalidRequestException ire;
    ::apache::airavata::api::error::AiravataClientException ace;
    ::apache::airavata::api::error::AiravataSystemException ase;
    ::apache::airavata::api::error::AuthorizationException ae;
 
-  _Airavata_updateGateway_result__isset __isset;
+  _Airavata_createNotification_result__isset __isset;
+
+  void __set_success(const std::string& val);
 
   void __set_ire(const  ::apache::airavata::api::error::InvalidRequestException& val);
 
@@ -3607,8 +4305,10 @@ class Airavata_updateGateway_result {
 
   void __set_ae(const  ::apache::airavata::api::error::AuthorizationException& val);
 
-  bool operator == (const Airavata_updateGateway_result & rhs) const
+  bool operator == (const Airavata_createNotification_result & rhs) const
   {
+    if (!(success == rhs.success))
+      return false;
     if (!(ire == rhs.ire))
       return false;
     if (!(ace == rhs.ace))
@@ -3619,71 +4319,73 @@ class Airavata_updateGateway_result {
       return false;
     return true;
   }
-  bool operator != (const Airavata_updateGateway_result &rhs) const {
+  bool operator != (const Airavata_createNotification_result &rhs) const {
     return !(*this == rhs);
   }
 
-  bool operator < (const Airavata_updateGateway_result & ) const;
+  bool operator < (const Airavata_createNotification_result & ) const;
 
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
 };
 
-typedef struct _Airavata_updateGateway_presult__isset {
-  _Airavata_updateGateway_presult__isset() : ire(false), ace(false), ase(false), ae(false) {}
+typedef struct _Airavata_createNotification_presult__isset {
+  _Airavata_createNotification_presult__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
+  bool success :1;
   bool ire :1;
   bool ace :1;
   bool ase :1;
   bool ae :1;
-} _Airavata_updateGateway_presult__isset;
+} _Airavata_createNotification_presult__isset;
 
-class Airavata_updateGateway_presult {
+class Airavata_createNotification_presult {
  public:
 
 
-  virtual ~Airavata_updateGateway_presult() throw();
+  virtual ~Airavata_createNotification_presult() throw();
+  std::string* success;
    ::apache::airavata::api::error::InvalidRequestException ire;
    ::apache::airavata::api::error::AiravataClientException ace;
    ::apache::airavata::api::error::AiravataSystemException ase;
    ::apache::airavata::api::error::AuthorizationException ae;
 
-  _Airavata_updateGateway_presult__isset __isset;
+  _Airavata_createNotification_presult__isset __isset;
 
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
 
 };
 
 
-class Airavata_getGateway_args {
+class Airavata_updateNotification_args {
  public:
 
-  Airavata_getGateway_args(const Airavata_getGateway_args&);
-  Airavata_getGateway_args& operator=(const Airavata_getGateway_args&);
-  Airavata_getGateway_args() : gatewayId() {
+  Airavata_updateNotification_args(const Airavata_updateNotification_args&);
+  Airavata_updateNotification_args& operator=(const Airavata_updateNotification_args&);
+  Airavata_updateNotification_args() {
   }
 
-  virtual ~Airavata_getGateway_args() throw();
+  virtual ~Airavata_updateNotification_args() throw();
    ::apache::airavata::model::security::AuthzToken authzToken;
-  std::string gatewayId;
+   ::apache::airavata::model::workspace::Notification notification;
 
   void __set_authzToken(const  ::apache::airavata::model::security::AuthzToken& val);
 
-  void __set_gatewayId(const std::string& val);
+  void __set_notification(const  ::apache::airavata::model::workspace::Notification& val);
 
-  bool operator == (const Airavata_getGateway_args & rhs) const
+  bool operator == (const Airavata_updateNotification_args & rhs) const
   {
     if (!(authzToken == rhs.authzToken))
       return false;
-    if (!(gatewayId == rhs.gatewayId))
+    if (!(notification == rhs.notification))
       return false;
     return true;
   }
-  bool operator != (const Airavata_getGateway_args &rhs) const {
+  bool operator != (const Airavata_updateNotification_args &rhs) const {
     return !(*this == rhs);
   }
 
-  bool operator < (const Airavata_getGateway_args & ) const;
+  bool operator < (const Airavata_updateNotification_args & ) const;
 
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
@@ -3691,45 +4393,41 @@ class Airavata_getGateway_args {
 };
 
 
-class Airavata_getGateway_pargs {
+class Airavata_updateNotification_pargs {
  public:
 
 
-  virtual ~Airavata_getGateway_pargs() throw();
+  virtual ~Airavata_updateNotification_pargs() throw();
   const  ::apache::airavata::model::security::AuthzToken* authzToken;
-  const std::string* gatewayId;
+  const  ::apache::airavata::model::workspace::Notification* notification;
 
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
 };
 
-typedef struct _Airavata_getGateway_result__isset {
-  _Airavata_getGateway_result__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
-  bool success :1;
+typedef struct _Airavata_updateNotification_result__isset {
+  _Airavata_updateNotification_result__isset() : ire(false), ace(false), ase(false), ae(false) {}
   bool ire :1;
   bool ace :1;
   bool ase :1;
   bool ae :1;
-} _Airavata_getGateway_result__isset;
+} _Airavata_updateNotification_result__isset;
 
-class Airavata_getGateway_result {
+class Airavata_updateNotification_result {
  public:
 
-  Airavata_getGateway_result(const Airavata_getGateway_result&);
-  Airavata_getGateway_result& operator=(const Airavata_getGateway_result&);
-  Airavata_getGateway_result() {
+  Airavata_updateNotification_result(const Airavata_updateNotification_result&);
+  Airavata_updateNotification_result& operator=(const Airavata_updateNotification_result&);
+  Airavata_updateNotification_result() {
   }
 
-  virtual ~Airavata_getGateway_result() throw();
-   ::apache::airavata::model::workspace::Gateway success;
+  virtual ~Airavata_updateNotification_result() throw();
    ::apache::airavata::api::error::InvalidRequestException ire;
    ::apache::airavata::api::error::AiravataClientException ace;
    ::apache::airavata::api::error::AiravataSystemException ase;
    ::apache::airavata::api::error::AuthorizationException ae;
 
-  _Airavata_getGateway_result__isset __isset;
-
-  void __set_success(const  ::apache::airavata::model::workspace::Gateway& val);
+  _Airavata_updateNotification_result__isset __isset;
 
   void __set_ire(const  ::apache::airavata::api::error::InvalidRequestException& val);
 
@@ -3739,10 +4437,8 @@ class Airavata_getGateway_result {
 
   void __set_ae(const  ::apache::airavata::api::error::AuthorizationException& val);
 
-  bool operator == (const Airavata_getGateway_result & rhs) const
+  bool operator == (const Airavata_updateNotification_result & rhs) const
   {
-    if (!(success == rhs.success))
-      return false;
     if (!(ire == rhs.ire))
       return false;
     if (!(ace == rhs.ace))
@@ -3753,73 +4449,76 @@ class Airavata_getGateway_result {
       return false;
     return true;
   }
-  bool operator != (const Airavata_getGateway_result &rhs) const {
+  bool operator != (const Airavata_updateNotification_result &rhs) const {
     return !(*this == rhs);
   }
 
-  bool operator < (const Airavata_getGateway_result & ) const;
+  bool operator < (const Airavata_updateNotification_result & ) const;
 
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
 };
 
-typedef struct _Airavata_getGateway_presult__isset {
-  _Airavata_getGateway_presult__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
-  bool success :1;
+typedef struct _Airavata_updateNotification_presult__isset {
+  _Airavata_updateNotification_presult__isset() : ire(false), ace(false), ase(false), ae(false) {}
   bool ire :1;
   bool ace :1;
   bool ase :1;
   bool ae :1;
-} _Airavata_getGateway_presult__isset;
+} _Airavata_updateNotification_presult__isset;
 
-class Airavata_getGateway_presult {
+class Airavata_updateNotification_presult {
  public:
 
 
-  virtual ~Airavata_getGateway_presult() throw();
-   ::apache::airavata::model::workspace::Gateway* success;
+  virtual ~Airavata_updateNotification_presult() throw();
    ::apache::airavata::api::error::InvalidRequestException ire;
    ::apache::airavata::api::error::AiravataClientException ace;
    ::apache::airavata::api::error::AiravataSystemException ase;
    ::apache::airavata::api::error::AuthorizationException ae;
 
-  _Airavata_getGateway_presult__isset __isset;
+  _Airavata_updateNotification_presult__isset __isset;
 
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
 
 };
 
 
-class Airavata_deleteGateway_args {
+class Airavata_deleteNotification_args {
  public:
 
-  Airavata_deleteGateway_args(const Airavata_deleteGateway_args&);
-  Airavata_deleteGateway_args& operator=(const Airavata_deleteGateway_args&);
-  Airavata_deleteGateway_args() : gatewayId() {
+  Airavata_deleteNotification_args(const Airavata_deleteNotification_args&);
+  Airavata_deleteNotification_args& operator=(const Airavata_deleteNotification_args&);
+  Airavata_deleteNotification_args() : gatewayId(), notificationId() {
   }
 
-  virtual ~Airavata_deleteGateway_args() throw();
+  virtual ~Airavata_deleteNotification_args() throw();
    ::apache::airavata::model::security::AuthzToken authzToken;
   std::string gatewayId;
+  std::string notificationId;
 
   void __set_authzToken(const  ::apache::airavata::model::security::AuthzToken& val);
 
   void __set_gatewayId(const std::string& val);
 
-  bool operator == (const Airavata_deleteGateway_args & rhs) const
+  void __set_notificationId(const std::string& val);
+
+  bool operator == (const Airavata_deleteNotification_args & rhs) const
   {
     if (!(authzToken == rhs.authzToken))
       return false;
     if (!(gatewayId == rhs.gatewayId))
       return false;
+    if (!(notificationId == rhs.notificationId))
+      return false;
     return true;
   }
-  bool operator != (const Airavata_deleteGateway_args &rhs) const {
+  bool operator != (const Airavata_deleteNotification_args &rhs) const {
     return !(*this == rhs);
   }
 
-  bool operator < (const Airavata_deleteGateway_args & ) const;
+  bool operator < (const Airavata_deleteNotification_args & ) const;
 
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
@@ -3827,45 +4526,42 @@ class Airavata_deleteGateway_args {
 };
 
 
-class Airavata_deleteGateway_pargs {
+class Airavata_deleteNotification_pargs {
  public:
 
 
-  virtual ~Airavata_deleteGateway_pargs() throw();
+  virtual ~Airavata_deleteNotification_pargs() throw();
   const  ::apache::airavata::model::security::AuthzToken* authzToken;
   const std::string* gatewayId;
+  const std::string* notificationId;
 
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
 };
 
-typedef struct _Airavata_deleteGateway_result__isset {
-  _Airavata_deleteGateway_result__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
-  bool success :1;
+typedef struct _Airavata_deleteNotification_result__isset {
+  _Airavata_deleteNotification_result__isset() : ire(false), ace(false), ase(false), ae(false) {}
   bool ire :1;
   bool ace :1;
   bool ase :1;
   bool ae :1;
-} _Airavata_deleteGateway_result__isset;
+} _Airavata_deleteNotification_result__isset;
 
-class Airavata_deleteGateway_result {
+class Airavata_deleteNotification_result {
  public:
 
-  Airavata_deleteGateway_result(const Airavata_deleteGateway_result&);
-  Airavata_deleteGateway_result& operator=(const Airavata_deleteGateway_result&);
-  Airavata_deleteGateway_result() : success(0) {
+  Airavata_deleteNotification_result(const Airavata_deleteNotification_result&);
+  Airavata_deleteNotification_result& operator=(const Airavata_deleteNotification_result&);
+  Airavata_deleteNotification_result() {
   }
 
-  virtual ~Airavata_deleteGateway_result() throw();
-  bool success;
+  virtual ~Airavata_deleteNotification_result() throw();
    ::apache::airavata::api::error::InvalidRequestException ire;
    ::apache::airavata::api::error::AiravataClientException ace;
    ::apache::airavata::api::error::AiravataSystemException ase;
    ::apache::airavata::api::error::AuthorizationException ae;
 
-  _Airavata_deleteGateway_result__isset __isset;
-
-  void __set_success(const bool val);
+  _Airavata_deleteNotification_result__isset __isset;
 
   void __set_ire(const  ::apache::airavata::api::error::InvalidRequestException& val);
 
@@ -3875,10 +4571,8 @@ class Airavata_deleteGateway_result {
 
   void __set_ae(const  ::apache::airavata::api::error::AuthorizationException& val);
 
-  bool operator == (const Airavata_deleteGateway_result & rhs) const
+  bool operator == (const Airavata_deleteNotification_result & rhs) const
   {
-    if (!(success == rhs.success))
-      return false;
     if (!(ire == rhs.ire))
       return false;
     if (!(ace == rhs.ace))
@@ -3889,68 +4583,76 @@ class Airavata_deleteGateway_result {
       return false;
     return true;
   }
-  bool operator != (const Airavata_deleteGateway_result &rhs) const {
+  bool operator != (const Airavata_deleteNotification_result &rhs) const {
     return !(*this == rhs);
   }
 
-  bool operator < (const Airavata_deleteGateway_result & ) const;
+  bool operator < (const Airavata_deleteNotification_result & ) const;
 
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
 };
 
-typedef struct _Airavata_deleteGateway_presult__isset {
-  _Airavata_deleteGateway_presult__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
-  bool success :1;
+typedef struct _Airavata_deleteNotification_presult__isset {
+  _Airavata_deleteNotification_presult__isset() : ire(false), ace(false), ase(false), ae(false) {}
   bool ire :1;
   bool ace :1;
   bool ase :1;
   bool ae :1;
-} _Airavata_deleteGateway_presult__isset;
+} _Airavata_deleteNotification_presult__isset;
 
-class Airavata_deleteGateway_presult {
+class Airavata_deleteNotification_presult {
  public:
 
 
-  virtual ~Airavata_deleteGateway_presult() throw();
-  bool* success;
+  virtual ~Airavata_deleteNotification_presult() throw();
    ::apache::airavata::api::error::InvalidRequestException ire;
    ::apache::airavata::api::error::AiravataClientException ace;
    ::apache::airavata::api::error::AiravataSystemException ase;
    ::apache::airavata::api::error::AuthorizationException ae;
 
-  _Airavata_deleteGateway_presult__isset __isset;
+  _Airavata_deleteNotification_presult__isset __isset;
 
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
 
 };
 
 
-class Airavata_getAllGateways_args {
+class Airavata_getNotification_args {
  public:
 
-  Airavata_getAllGateways_args(const Airavata_getAllGateways_args&);
-  Airavata_getAllGateways_args& operator=(const Airavata_getAllGateways_args&);
-  Airavata_getAllGateways_args() {
+  Airavata_getNotification_args(const Airavata_getNotification_args&);
+  Airavata_getNotification_args& operator=(const Airavata_getNotification_args&);
+  Airavata_getNotification_args() : gatewayId(), notificationId() {
   }
 
-  virtual ~Airavata_getAllGateways_args() throw();
+  virtual ~Airavata_getNotification_args() throw();
    ::apache::airavata::model::security::AuthzToken authzToken;
+  std::string gatewayId;
+  std::string notificationId;
 
   void __set_authzToken(const  ::apache::airavata::model::security::AuthzToken& val);
 
-  bool operator == (const Airavata_getAllGateways_args & rhs) const
+  void __set_gatewayId(const std::string& val);
+
+  void __set_notificationId(const std::string& val);
+
+  bool operator == (const Airavata_getNotification_args & rhs) const
   {
     if (!(authzToken == rhs.authzToken))
       return false;
+    if (!(gatewayId == rhs.gatewayId))
+      return false;
+    if (!(notificationId == rhs.notificationId))
+      return false;
     return true;
   }
-  bool operator != (const Airavata_getAllGateways_args &rhs) const {
+  bool operator != (const Airavata_getNotification_args &rhs) const {
     return !(*this == rhs);
   }
 
-  bool operator < (const Airavata_getAllGateways_args & ) const;
+  bool operator < (const Airavata_getNotification_args & ) const;
 
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
@@ -3958,44 +4660,46 @@ class Airavata_getAllGateways_args {
 };
 
 
-class Airavata_getAllGateways_pargs {
+class Airavata_getNotification_pargs {
  public:
 
 
-  virtual ~Airavata_getAllGateways_pargs() throw();
+  virtual ~Airavata_getNotification_pargs() throw();
   const  ::apache::airavata::model::security::AuthzToken* authzToken;
+  const std::string* gatewayId;
+  const std::string* notificationId;
 
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
 };
 
-typedef struct _Airavata_getAllGateways_result__isset {
-  _Airavata_getAllGateways_result__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
+typedef struct _Airavata_getNotification_result__isset {
+  _Airavata_getNotification_result__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
   bool success :1;
   bool ire :1;
   bool ace :1;
   bool ase :1;
   bool ae :1;
-} _Airavata_getAllGateways_result__isset;
+} _Airavata_getNotification_result__isset;
 
-class Airavata_getAllGateways_result {
+class Airavata_getNotification_result {
  public:
 
-  Airavata_getAllGateways_result(const Airavata_getAllGateways_result&);
-  Airavata_getAllGateways_result& operator=(const Airavata_getAllGateways_result&);
-  Airavata_getAllGateways_result() {
+  Airavata_getNotification_result(const Airavata_getNotification_result&);
+  Airavata_getNotification_result& operator=(const Airavata_getNotification_result&);
+  Airavata_getNotification_result() {
   }
 
-  virtual ~Airavata_getAllGateways_result() throw();
-  std::vector< ::apache::airavata::model::workspace::Gateway>  success;
+  virtual ~Airavata_getNotification_result() throw();
+   ::apache::airavata::model::workspace::Notification success;
    ::apache::airavata::api::error::InvalidRequestException ire;
    ::apache::airavata::api::error::AiravataClientException ace;
    ::apache::airavata::api::error::AiravataSystemException ase;
    ::apache::airavata::api::error::AuthorizationException ae;
 
-  _Airavata_getAllGateways_result__isset __isset;
+  _Airavata_getNotification_result__isset __isset;
 
-  void __set_success(const std::vector< ::apache::airavata::model::workspace::Gateway> & val);
+  void __set_success(const  ::apache::airavata::model::workspace::Notification& val);
 
   void __set_ire(const  ::apache::airavata::api::error::InvalidRequestException& val);
 
@@ -4005,7 +4709,7 @@ class Airavata_getAllGateways_result {
 
   void __set_ae(const  ::apache::airavata::api::error::AuthorizationException& val);
 
-  bool operator == (const Airavata_getAllGateways_result & rhs) const
+  bool operator == (const Airavata_getNotification_result & rhs) const
   {
     if (!(success == rhs.success))
       return false;
@@ -4019,53 +4723,53 @@ class Airavata_getAllGateways_result {
       return false;
     return true;
   }
-  bool operator != (const Airavata_getAllGateways_result &rhs) const {
+  bool operator != (const Airavata_getNotification_result &rhs) const {
     return !(*this == rhs);
   }
 
-  bool operator < (const Airavata_getAllGateways_result & ) const;
+  bool operator < (const Airavata_getNotification_result & ) const;
 
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
 };
 
-typedef struct _Airavata_getAllGateways_presult__isset {
-  _Airavata_getAllGateways_presult__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
+typedef struct _Airavata_getNotification_presult__isset {
+  _Airavata_getNotification_presult__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
   bool success :1;
   bool ire :1;
   bool ace :1;
   bool ase :1;
   bool ae :1;
-} _Airavata_getAllGateways_presult__isset;
+} _Airavata_getNotification_presult__isset;
 
-class Airavata_getAllGateways_presult {
+class Airavata_getNotification_presult {
  public:
 
 
-  virtual ~Airavata_getAllGateways_presult() throw();
-  std::vector< ::apache::airavata::model::workspace::Gateway> * success;
+  virtual ~Airavata_getNotification_presult() throw();
+   ::apache::airavata::model::workspace::Notification* success;
    ::apache::airavata::api::error::InvalidRequestException ire;
    ::apache::airavata::api::error::AiravataClientException ace;
    ::apache::airavata::api::error::AiravataSystemException ase;
    ::apache::airavata::api::error::AuthorizationException ae;
 
-  _Airavata_getAllGateways_presult__isset __isset;
+  _Airavata_getNotification_presult__isset __isset;
 
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
 
 };
 
 
-class Airavata_isGatewayExist_args {
+class Airavata_getAllNotifications_args {
  public:
 
-  Airavata_isGatewayExist_args(const Airavata_isGatewayExist_args&);
-  Airavata_isGatewayExist_args& operator=(const Airavata_isGatewayExist_args&);
-  Airavata_isGatewayExist_args() : gatewayId() {
+  Airavata_getAllNotifications_args(const Airavata_getAllNotifications_args&);
+  Airavata_getAllNotifications_args& operator=(const Airavata_getAllNotifications_args&);
+  Airavata_getAllNotifications_args() : gatewayId() {
   }
 
-  virtual ~Airavata_isGatewayExist_args() throw();
+  virtual ~Airavata_getAllNotifications_args() throw();
    ::apache::airavata::model::security::AuthzToken authzToken;
   std::string gatewayId;
 
@@ -4073,7 +4777,7 @@ class Airavata_isGatewayExist_args {
 
   void __set_gatewayId(const std::string& val);
 
-  bool operator == (const Airavata_isGatewayExist_args & rhs) const
+  bool operator == (const Airavata_getAllNotifications_args & rhs) const
   {
     if (!(authzToken == rhs.authzToken))
       return false;
@@ -4081,11 +4785,11 @@ class Airavata_isGatewayExist_args {
       return false;
     return true;
   }
-  bool operator != (const Airavata_isGatewayExist_args &rhs) const {
+  bool operator != (const Airavata_getAllNotifications_args &rhs) const {
     return !(*this == rhs);
   }
 
-  bool operator < (const Airavata_isGatewayExist_args & ) const;
+  bool operator < (const Airavata_getAllNotifications_args & ) const;
 
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
@@ -4093,11 +4797,11 @@ class Airavata_isGatewayExist_args {
 };
 
 
-class Airavata_isGatewayExist_pargs {
+class Airavata_getAllNotifications_pargs {
  public:
 
 
-  virtual ~Airavata_isGatewayExist_pargs() throw();
+  virtual ~Airavata_getAllNotifications_pargs() throw();
   const  ::apache::airavata::model::security::AuthzToken* authzToken;
   const std::string* gatewayId;
 
@@ -4105,33 +4809,33 @@ class Airavata_isGatewayExist_pargs {
 
 };
 
-typedef struct _Airavata_isGatewayExist_result__isset {
-  _Airavata_isGatewayExist_result__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
+typedef struct _Airavata_getAllNotifications_result__isset {
+  _Airavata_getAllNotifications_result__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
   bool success :1;
   bool ire :1;
   bool ace :1;
   bool ase :1;
   bool ae :1;
-} _Airavata_isGatewayExist_result__isset;
+} _Airavata_getAllNotifications_result__isset;
 
-class Airavata_isGatewayExist_result {
+class Airavata_getAllNotifications_result {
  public:
 
-  Airavata_isGatewayExist_result(const Airavata_isGatewayExist_result&);
-  Airavata_isGatewayExist_result& operator=(const Airavata_isGatewayExist_result&);
-  Airavata_isGatewayExist_result() : success(0) {
+  Airavata_getAllNotifications_result(const Airavata_getAllNotifications_result&);
+  Airavata_getAllNotifications_result& operator=(const Airavata_getAllNotifications_result&);
+  Airavata_getAllNotifications_result() {
   }
 
-  virtual ~Airavata_isGatewayExist_result() throw();
-  bool success;
+  virtual ~Airavata_getAllNotifications_result() throw();
+  std::vector< ::apache::airavata::model::workspace::Notification>  success;
    ::apache::airavata::api::error::InvalidRequestException ire;
    ::apache::airavata::api::error::AiravataClientException ace;
    ::apache::airavata::api::error::AiravataSystemException ase;
    ::apache::airavata::api::error::AuthorizationException ae;
 
-  _Airavata_isGatewayExist_result__isset __isset;
+  _Airavata_getAllNotifications_result__isset __isset;
 
-  void __set_success(const bool val);
+  void __set_success(const std::vector< ::apache::airavata::model::workspace::Notification> & val);
 
   void __set_ire(const  ::apache::airavata::api::error::InvalidRequestException& val);
 
@@ -4141,7 +4845,7 @@ class Airavata_isGatewayExist_result {
 
   void __set_ae(const  ::apache::airavata::api::error::AuthorizationException& val);
 
-  bool operator == (const Airavata_isGatewayExist_result & rhs) const
+  bool operator == (const Airavata_getAllNotifications_result & rhs) const
   {
     if (!(success == rhs.success))
       return false;
@@ -4155,38 +4859,38 @@ class Airavata_isGatewayExist_result {
       return false;
     return true;
   }
-  bool operator != (const Airavata_isGatewayExist_result &rhs) const {
+  bool operator != (const Airavata_getAllNotifications_result &rhs) const {
     return !(*this == rhs);
   }
 
-  bool operator < (const Airavata_isGatewayExist_result & ) const;
+  bool operator < (const Airavata_getAllNotifications_result & ) const;
 
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
 };
 
-typedef struct _Airavata_isGatewayExist_presult__isset {
-  _Airavata_isGatewayExist_presult__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
+typedef struct _Airavata_getAllNotifications_presult__isset {
+  _Airavata_getAllNotifications_presult__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
   bool success :1;
   bool ire :1;
   bool ace :1;
   bool ase :1;
   bool ae :1;
-} _Airavata_isGatewayExist_presult__isset;
+} _Airavata_getAllNotifications_presult__isset;
 
-class Airavata_isGatewayExist_presult {
+class Airavata_getAllNotifications_presult {
  public:
 
 
-  virtual ~Airavata_isGatewayExist_presult() throw();
-  bool* success;
+  virtual ~Airavata_getAllNotifications_presult() throw();
+  std::vector< ::apache::airavata::model::workspace::Notification> * success;
    ::apache::airavata::api::error::InvalidRequestException ire;
    ::apache::airavata::api::error::AiravataClientException ace;
    ::apache::airavata::api::error::AiravataSystemException ase;
    ::apache::airavata::api::error::AuthorizationException ae;
 
-  _Airavata_isGatewayExist_presult__isset __isset;
+  _Airavata_getAllNotifications_presult__isset __isset;
 
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
 
@@ -22745,6 +23449,21 @@ class AiravataClient : virtual public AiravataIf {
   bool isGatewayExist(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId);
   void send_isGatewayExist(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId);
   bool recv_isGatewayExist();
+  void createNotification(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::workspace::Notification& notification);
+  void send_createNotification(const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::workspace::Notification& notification);
+  void recv_createNotification(std::string& _return);
+  void updateNotification(const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::workspace::Notification& notification);
+  void send_updateNotification(const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::workspace::Notification& notification);
+  void recv_updateNotification();
+  void deleteNotification(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& notificationId);
+  void send_deleteNotification(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& notificationId);
+  void recv_deleteNotification();
+  void getNotification( ::apache::airavata::model::workspace::Notification& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& notificationId);
+  void send_getNotification(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& notificationId);
+  void recv_getNotification( ::apache::airavata::model::workspace::Notification& _return);
+  void getAllNotifications(std::vector< ::apache::airavata::model::workspace::Notification> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId);
+  void send_getAllNotifications(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId);
+  void recv_getAllNotifications(std::vector< ::apache::airavata::model::workspace::Notification> & _return);
   void generateAndRegisterSSHKeys(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName);
   void send_generateAndRegisterSSHKeys(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName);
   void recv_generateAndRegisterSSHKeys(std::string& _return);
@@ -23161,6 +23880,11 @@ class AiravataProcessor : public ::apache::thrift::TDispatchProcessor {
   void process_deleteGateway(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
   void process_getAllGateways(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
   void process_isGatewayExist(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
+  void process_createNotification(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
+  void process_updateNotification(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
+  void process_deleteNotification(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
+  void process_getNotification(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
+  void process_getAllNotifications(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
   void process_generateAndRegisterSSHKeys(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
   void process_getSSHPubKey(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
   void process_getAllUserSSHPubKeys(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
@@ -23303,6 +24027,11 @@ class AiravataProcessor : public ::apache::thrift::TDispatchProcessor {
     processMap_["deleteGateway"] = &AiravataProcessor::process_deleteGateway;
     processMap_["getAllGateways"] = &AiravataProcessor::process_getAllGateways;
     processMap_["isGatewayExist"] = &AiravataProcessor::process_isGatewayExist;
+    processMap_["createNotification"] = &AiravataProcessor::process_createNotification;
+    processMap_["updateNotification"] = &AiravataProcessor::process_updateNotification;
+    processMap_["deleteNotification"] = &AiravataProcessor::process_deleteNotification;
+    processMap_["getNotification"] = &AiravataProcessor::process_getNotification;
+    processMap_["getAllNotifications"] = &AiravataProcessor::process_getAllNotifications;
     processMap_["generateAndRegisterSSHKeys"] = &AiravataProcessor::process_generateAndRegisterSSHKeys;
     processMap_["getSSHPubKey"] = &AiravataProcessor::process_getSSHPubKey;
     processMap_["getAllUserSSHPubKeys"] = &AiravataProcessor::process_getAllUserSSHPubKeys;
@@ -23538,6 +24267,54 @@ class AiravataMultiface : virtual public AiravataIf {
     return ifaces_[i]->isGatewayExist(authzToken, gatewayId);
   }
 
+  void createNotification(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::workspace::Notification& notification) {
+    size_t sz = ifaces_.size();
+    size_t i = 0;
+    for (; i < (sz - 1); ++i) {
+      ifaces_[i]->createNotification(_return, authzToken, notification);
+    }
+    ifaces_[i]->createNotification(_return, authzToken, notification);
+    return;
+  }
+
+  void updateNotification(const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::workspace::Notification& notification) {
+    size_t sz = ifaces_.size();
+    size_t i = 0;
+    for (; i < (sz - 1); ++i) {
+      ifaces_[i]->updateNotification(authzToken, notification);
+    }
+    ifaces_[i]->updateNotification(authzToken, notification);
+  }
+
+  void deleteNotification(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& notificationId) {
+    size_t sz = ifaces_.size();
+    size_t i = 0;
+    for (; i < (sz - 1); ++i) {
+      ifaces_[i]->deleteNotification(authzToken, gatewayId, notificationId);
+    }
+    ifaces_[i]->deleteNotification(authzToken, gatewayId, notificationId);
+  }
+
+  void getNotification( ::apache::airavata::model::workspace::Notification& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& notificationId) {
+    size_t sz = ifaces_.size();
+    size_t i = 0;
+    for (; i < (sz - 1); ++i) {
+      ifaces_[i]->getNotification(_return, authzToken, gatewayId, notificationId);
+    }
+    ifaces_[i]->getNotification(_return, authzToken, gatewayId, notificationId);
+    return;
+  }
+
+  void getAllNotifications(std::vector< ::apache::airavata::model::workspace::Notification> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId) {
+    size_t sz = ifaces_.size();
+    size_t i = 0;
+    for (; i < (sz - 1); ++i) {
+      ifaces_[i]->getAllNotifications(_return, authzToken, gatewayId);
+    }
+    ifaces_[i]->getAllNotifications(_return, authzToken, gatewayId);
+    return;
+  }
+
   void generateAndRegisterSSHKeys(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName) {
     size_t sz = ifaces_.size();
     size_t i = 0;
@@ -24854,6 +25631,21 @@ class AiravataConcurrentClient : virtual public AiravataIf {
   bool isGatewayExist(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId);
   int32_t send_isGatewayExist(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId);
   bool recv_isGatewayExist(const int32_t seqid);
+  void createNotification(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::workspace::Notification& notification);
+  int32_t send_createNotification(const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::workspace::Notification& notification);
+  void recv_createNotification(std::string& _return, const int32_t seqid);
+  void updateNotification(const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::workspace::Notification& notification);
+  int32_t send_updateNotification(const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::workspace::Notification& notification);
+  void recv_updateNotification(const int32_t seqid);
+  void deleteNotification(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& notificationId);
+  int32_t send_deleteNotification(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& notificationId);
+  void recv_deleteNotification(const int32_t seqid);
+  void getNotification( ::apache::airavata::model::workspace::Notification& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& notificationId);
+  int32_t send_getNotification(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& notificationId);
+  void recv_getNotification( ::apache::airavata::model::workspace::Notification& _return, const int32_t seqid);
+  void getAllNotifications(std::vector< ::apache::airavata::model::workspace::Notification> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId);
+  int32_t send_getAllNotifications(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId);
+  void recv_getAllNotifications(std::vector< ::apache::airavata::model::workspace::Notification> & _return, const int32_t seqid);
   void generateAndRegisterSSHKeys(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName);
   int32_t send_generateAndRegisterSSHKeys(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName);
   void recv_generateAndRegisterSSHKeys(std::string& _return, const int32_t seqid);

http://git-wip-us.apache.org/repos/asf/airavata/blob/47290ad1/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
index bc63cc3..ba4e2d8 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
@@ -183,6 +183,38 @@ class AiravataHandler : virtual public AiravataIf {
   }
 
   /**
+   *   * API methods to retrieve notifications
+   * *
+   * 
+   * @param authzToken
+   * @param notification
+   */
+  void createNotification(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::workspace::Notification& notification) {
+    // Your implementation goes here
+    printf("createNotification\n");
+  }
+
+  void updateNotification(const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::workspace::Notification& notification) {
+    // Your implementation goes here
+    printf("updateNotification\n");
+  }
+
+  void deleteNotification(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& notificationId) {
+    // Your implementation goes here
+    printf("deleteNotification\n");
+  }
+
+  void getNotification( ::apache::airavata::model::workspace::Notification& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& notificationId) {
+    // Your implementation goes here
+    printf("getNotification\n");
+  }
+
+  void getAllNotifications(std::vector< ::apache::airavata::model::workspace::Notification> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId) {
+    // Your implementation goes here
+    printf("getAllNotifications\n");
+  }
+
+  /**
    * Generate and Register SSH Key Pair with Airavata Credential Store.
    * 
    * @param gatewayId

http://git-wip-us.apache.org/repos/asf/airavata/blob/47290ad1/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspace_model_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspace_model_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspace_model_types.cpp
index cb74008..e45f171 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspace_model_types.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspace_model_types.cpp
@@ -690,4 +690,205 @@ void Gateway::printTo(std::ostream& out) const {
   out << ")";
 }
 
+
+Notification::~Notification() throw() {
+}
+
+
+void Notification::__set_notificationId(const std::string& val) {
+  this->notificationId = val;
+__isset.notificationId = true;
+}
+
+void Notification::__set_gatewayId(const std::string& val) {
+  this->gatewayId = val;
+}
+
+void Notification::__set_title(const std::string& val) {
+  this->title = val;
+}
+
+void Notification::__set_notifcationMessage(const std::string& val) {
+  this->notifcationMessage = val;
+}
+
+void Notification::__set_publishedtime(const int64_t val) {
+  this->publishedtime = val;
+__isset.publishedtime = true;
+}
+
+void Notification::__set_expirationTime(const int64_t val) {
+  this->expirationTime = val;
+__isset.expirationTime = true;
+}
+
+uint32_t Notification::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_gatewayId = false;
+  bool isset_title = false;
+  bool isset_notifcationMessage = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->notificationId);
+          this->__isset.notificationId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->gatewayId);
+          isset_gatewayId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->title);
+          isset_title = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->notifcationMessage);
+          isset_notifcationMessage = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 5:
+        if (ftype == ::apache::thrift::protocol::T_I64) {
+          xfer += iprot->readI64(this->publishedtime);
+          this->__isset.publishedtime = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 6:
+        if (ftype == ::apache::thrift::protocol::T_I64) {
+          xfer += iprot->readI64(this->expirationTime);
+          this->__isset.expirationTime = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_gatewayId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_title)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_notifcationMessage)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t Notification::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
+  xfer += oprot->writeStructBegin("Notification");
+
+  if (this->__isset.notificationId) {
+    xfer += oprot->writeFieldBegin("notificationId", ::apache::thrift::protocol::T_STRING, 1);
+    xfer += oprot->writeString(this->notificationId);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString(this->gatewayId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("title", ::apache::thrift::protocol::T_STRING, 3);
+  xfer += oprot->writeString(this->title);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("notifcationMessage", ::apache::thrift::protocol::T_STRING, 4);
+  xfer += oprot->writeString(this->notifcationMessage);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.publishedtime) {
+    xfer += oprot->writeFieldBegin("publishedtime", ::apache::thrift::protocol::T_I64, 5);
+    xfer += oprot->writeI64(this->publishedtime);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.expirationTime) {
+    xfer += oprot->writeFieldBegin("expirationTime", ::apache::thrift::protocol::T_I64, 6);
+    xfer += oprot->writeI64(this->expirationTime);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+void swap(Notification &a, Notification &b) {
+  using ::std::swap;
+  swap(a.notificationId, b.notificationId);
+  swap(a.gatewayId, b.gatewayId);
+  swap(a.title, b.title);
+  swap(a.notifcationMessage, b.notifcationMessage);
+  swap(a.publishedtime, b.publishedtime);
+  swap(a.expirationTime, b.expirationTime);
+  swap(a.__isset, b.__isset);
+}
+
+Notification::Notification(const Notification& other26) {
+  notificationId = other26.notificationId;
+  gatewayId = other26.gatewayId;
+  title = other26.title;
+  notifcationMessage = other26.notifcationMessage;
+  publishedtime = other26.publishedtime;
+  expirationTime = other26.expirationTime;
+  __isset = other26.__isset;
+}
+Notification& Notification::operator=(const Notification& other27) {
+  notificationId = other27.notificationId;
+  gatewayId = other27.gatewayId;
+  title = other27.title;
+  notifcationMessage = other27.notifcationMessage;
+  publishedtime = other27.publishedtime;
+  expirationTime = other27.expirationTime;
+  __isset = other27.__isset;
+  return *this;
+}
+void Notification::printTo(std::ostream& out) const {
+  using ::apache::thrift::to_string;
+  out << "Notification(";
+  out << "notificationId="; (__isset.notificationId ? (out << to_string(notificationId)) : (out << "<null>"));
+  out << ", " << "gatewayId=" << to_string(gatewayId);
+  out << ", " << "title=" << to_string(title);
+  out << ", " << "notifcationMessage=" << to_string(notifcationMessage);
+  out << ", " << "publishedtime="; (__isset.publishedtime ? (out << to_string(publishedtime)) : (out << "<null>"));
+  out << ", " << "expirationTime="; (__isset.expirationTime ? (out << to_string(expirationTime)) : (out << "<null>"));
+  out << ")";
+}
+
 }}}} // namespace

http://git-wip-us.apache.org/repos/asf/airavata/blob/47290ad1/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspace_model_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspace_model_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspace_model_types.h
index 4e624af..121b181 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspace_model_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspace_model_types.h
@@ -45,6 +45,8 @@ class User;
 
 class Gateway;
 
+class Notification;
+
 typedef struct _Group__isset {
   _Group__isset() : description(false) {}
   bool description :1;
@@ -307,6 +309,85 @@ inline std::ostream& operator<<(std::ostream& out, const Gateway& obj)
   return out;
 }
 
+typedef struct _Notification__isset {
+  _Notification__isset() : notificationId(false), publishedtime(false), expirationTime(false) {}
+  bool notificationId :1;
+  bool publishedtime :1;
+  bool expirationTime :1;
+} _Notification__isset;
+
+class Notification {
+ public:
+
+  Notification(const Notification&);
+  Notification& operator=(const Notification&);
+  Notification() : notificationId(), gatewayId(), title(), notifcationMessage(), publishedtime(0), expirationTime(0) {
+  }
+
+  virtual ~Notification() throw();
+  std::string notificationId;
+  std::string gatewayId;
+  std::string title;
+  std::string notifcationMessage;
+  int64_t publishedtime;
+  int64_t expirationTime;
+
+  _Notification__isset __isset;
+
+  void __set_notificationId(const std::string& val);
+
+  void __set_gatewayId(const std::string& val);
+
+  void __set_title(const std::string& val);
+
+  void __set_notifcationMessage(const std::string& val);
+
+  void __set_publishedtime(const int64_t val);
+
+  void __set_expirationTime(const int64_t val);
+
+  bool operator == (const Notification & rhs) const
+  {
+    if (__isset.notificationId != rhs.__isset.notificationId)
+      return false;
+    else if (__isset.notificationId && !(notificationId == rhs.notificationId))
+      return false;
+    if (!(gatewayId == rhs.gatewayId))
+      return false;
+    if (!(title == rhs.title))
+      return false;
+    if (!(notifcationMessage == rhs.notifcationMessage))
+      return false;
+    if (__isset.publishedtime != rhs.__isset.publishedtime)
+      return false;
+    else if (__isset.publishedtime && !(publishedtime == rhs.publishedtime))
+      return false;
+    if (__isset.expirationTime != rhs.__isset.expirationTime)
+      return false;
+    else if (__isset.expirationTime && !(expirationTime == rhs.expirationTime))
+      return false;
+    return true;
+  }
+  bool operator != (const Notification &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Notification & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  virtual void printTo(std::ostream& out) const;
+};
+
+void swap(Notification &a, Notification &b);
+
+inline std::ostream& operator<<(std::ostream& out, const Notification& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 }}}} // namespace
 
 #endif