You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sm...@apache.org on 2015/07/21 06:41:48 UTC

[05/44] airavata git commit: changing few API methods to adhere to security solution.

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/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
new file mode 100644
index 0000000..b66293f
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspace_model_types.cpp
@@ -0,0 +1,709 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "workspace_model_types.h"
+
+#include <algorithm>
+#include <ostream>
+
+#include <thrift/TToString.h>
+
+namespace apache { namespace airavata { namespace model { namespace workspace {
+
+
+Group::~Group() throw() {
+}
+
+
+void Group::__set_groupName(const std::string& val) {
+  this->groupName = val;
+}
+
+void Group::__set_description(const std::string& val) {
+  this->description = val;
+__isset.description = true;
+}
+
+const char* Group::ascii_fingerprint = "5B708A954C550ECA9C1A49D3C5CAFAB9";
+const uint8_t Group::binary_fingerprint[16] = {0x5B,0x70,0x8A,0x95,0x4C,0x55,0x0E,0xCA,0x9C,0x1A,0x49,0xD3,0xC5,0xCA,0xFA,0xB9};
+
+uint32_t Group::read(::apache::thrift::protocol::TProtocol* 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_groupName = 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->groupName);
+          isset_groupName = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->description);
+          this->__isset.description = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_groupName)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t Group::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("Group");
+
+  xfer += oprot->writeFieldBegin("groupName", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->groupName);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.description) {
+    xfer += oprot->writeFieldBegin("description", ::apache::thrift::protocol::T_STRING, 2);
+    xfer += oprot->writeString(this->description);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(Group &a, Group &b) {
+  using ::std::swap;
+  swap(a.groupName, b.groupName);
+  swap(a.description, b.description);
+  swap(a.__isset, b.__isset);
+}
+
+Group::Group(const Group& other0) {
+  groupName = other0.groupName;
+  description = other0.description;
+  __isset = other0.__isset;
+}
+Group& Group::operator=(const Group& other1) {
+  groupName = other1.groupName;
+  description = other1.description;
+  __isset = other1.__isset;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const Group& obj) {
+  using apache::thrift::to_string;
+  out << "Group(";
+  out << "groupName=" << to_string(obj.groupName);
+  out << ", " << "description="; (obj.__isset.description ? (out << to_string(obj.description)) : (out << "<null>"));
+  out << ")";
+  return out;
+}
+
+
+Project::~Project() throw() {
+}
+
+
+void Project::__set_projectID(const std::string& val) {
+  this->projectID = val;
+}
+
+void Project::__set_owner(const std::string& val) {
+  this->owner = val;
+}
+
+void Project::__set_name(const std::string& val) {
+  this->name = val;
+}
+
+void Project::__set_description(const std::string& val) {
+  this->description = val;
+__isset.description = true;
+}
+
+void Project::__set_creationTime(const int64_t val) {
+  this->creationTime = val;
+__isset.creationTime = true;
+}
+
+void Project::__set_sharedUsers(const std::vector<std::string> & val) {
+  this->sharedUsers = val;
+__isset.sharedUsers = true;
+}
+
+void Project::__set_sharedGroups(const std::vector<std::string> & val) {
+  this->sharedGroups = val;
+__isset.sharedGroups = true;
+}
+
+const char* Project::ascii_fingerprint = "AFD8090DE564134035942D450F918628";
+const uint8_t Project::binary_fingerprint[16] = {0xAF,0xD8,0x09,0x0D,0xE5,0x64,0x13,0x40,0x35,0x94,0x2D,0x45,0x0F,0x91,0x86,0x28};
+
+uint32_t Project::read(::apache::thrift::protocol::TProtocol* 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_projectID = false;
+  bool isset_owner = false;
+  bool isset_name = 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->projectID);
+          isset_projectID = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->owner);
+          isset_owner = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->name);
+          isset_name = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->description);
+          this->__isset.description = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 5:
+        if (ftype == ::apache::thrift::protocol::T_I64) {
+          xfer += iprot->readI64(this->creationTime);
+          this->__isset.creationTime = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 6:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->sharedUsers.clear();
+            uint32_t _size2;
+            ::apache::thrift::protocol::TType _etype5;
+            xfer += iprot->readListBegin(_etype5, _size2);
+            this->sharedUsers.resize(_size2);
+            uint32_t _i6;
+            for (_i6 = 0; _i6 < _size2; ++_i6)
+            {
+              xfer += iprot->readString(this->sharedUsers[_i6]);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.sharedUsers = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 7:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->sharedGroups.clear();
+            uint32_t _size7;
+            ::apache::thrift::protocol::TType _etype10;
+            xfer += iprot->readListBegin(_etype10, _size7);
+            this->sharedGroups.resize(_size7);
+            uint32_t _i11;
+            for (_i11 = 0; _i11 < _size7; ++_i11)
+            {
+              xfer += iprot->readString(this->sharedGroups[_i11]);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.sharedGroups = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_projectID)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_owner)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_name)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t Project::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("Project");
+
+  xfer += oprot->writeFieldBegin("projectID", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->projectID);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("owner", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString(this->owner);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("name", ::apache::thrift::protocol::T_STRING, 3);
+  xfer += oprot->writeString(this->name);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.description) {
+    xfer += oprot->writeFieldBegin("description", ::apache::thrift::protocol::T_STRING, 4);
+    xfer += oprot->writeString(this->description);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.creationTime) {
+    xfer += oprot->writeFieldBegin("creationTime", ::apache::thrift::protocol::T_I64, 5);
+    xfer += oprot->writeI64(this->creationTime);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.sharedUsers) {
+    xfer += oprot->writeFieldBegin("sharedUsers", ::apache::thrift::protocol::T_LIST, 6);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->sharedUsers.size()));
+      std::vector<std::string> ::const_iterator _iter12;
+      for (_iter12 = this->sharedUsers.begin(); _iter12 != this->sharedUsers.end(); ++_iter12)
+      {
+        xfer += oprot->writeString((*_iter12));
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.sharedGroups) {
+    xfer += oprot->writeFieldBegin("sharedGroups", ::apache::thrift::protocol::T_LIST, 7);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->sharedGroups.size()));
+      std::vector<std::string> ::const_iterator _iter13;
+      for (_iter13 = this->sharedGroups.begin(); _iter13 != this->sharedGroups.end(); ++_iter13)
+      {
+        xfer += oprot->writeString((*_iter13));
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(Project &a, Project &b) {
+  using ::std::swap;
+  swap(a.projectID, b.projectID);
+  swap(a.owner, b.owner);
+  swap(a.name, b.name);
+  swap(a.description, b.description);
+  swap(a.creationTime, b.creationTime);
+  swap(a.sharedUsers, b.sharedUsers);
+  swap(a.sharedGroups, b.sharedGroups);
+  swap(a.__isset, b.__isset);
+}
+
+Project::Project(const Project& other14) {
+  projectID = other14.projectID;
+  owner = other14.owner;
+  name = other14.name;
+  description = other14.description;
+  creationTime = other14.creationTime;
+  sharedUsers = other14.sharedUsers;
+  sharedGroups = other14.sharedGroups;
+  __isset = other14.__isset;
+}
+Project& Project::operator=(const Project& other15) {
+  projectID = other15.projectID;
+  owner = other15.owner;
+  name = other15.name;
+  description = other15.description;
+  creationTime = other15.creationTime;
+  sharedUsers = other15.sharedUsers;
+  sharedGroups = other15.sharedGroups;
+  __isset = other15.__isset;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const Project& obj) {
+  using apache::thrift::to_string;
+  out << "Project(";
+  out << "projectID=" << to_string(obj.projectID);
+  out << ", " << "owner=" << to_string(obj.owner);
+  out << ", " << "name=" << to_string(obj.name);
+  out << ", " << "description="; (obj.__isset.description ? (out << to_string(obj.description)) : (out << "<null>"));
+  out << ", " << "creationTime="; (obj.__isset.creationTime ? (out << to_string(obj.creationTime)) : (out << "<null>"));
+  out << ", " << "sharedUsers="; (obj.__isset.sharedUsers ? (out << to_string(obj.sharedUsers)) : (out << "<null>"));
+  out << ", " << "sharedGroups="; (obj.__isset.sharedGroups ? (out << to_string(obj.sharedGroups)) : (out << "<null>"));
+  out << ")";
+  return out;
+}
+
+
+User::~User() throw() {
+}
+
+
+void User::__set_userName(const std::string& val) {
+  this->userName = val;
+}
+
+void User::__set_groupList(const std::vector<Group> & val) {
+  this->groupList = val;
+__isset.groupList = true;
+}
+
+const char* User::ascii_fingerprint = "D7DA282D6B2F08CB02B4E3CF47DB44E5";
+const uint8_t User::binary_fingerprint[16] = {0xD7,0xDA,0x28,0x2D,0x6B,0x2F,0x08,0xCB,0x02,0xB4,0xE3,0xCF,0x47,0xDB,0x44,0xE5};
+
+uint32_t User::read(::apache::thrift::protocol::TProtocol* 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_userName = 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->userName);
+          isset_userName = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->groupList.clear();
+            uint32_t _size16;
+            ::apache::thrift::protocol::TType _etype19;
+            xfer += iprot->readListBegin(_etype19, _size16);
+            this->groupList.resize(_size16);
+            uint32_t _i20;
+            for (_i20 = 0; _i20 < _size16; ++_i20)
+            {
+              xfer += this->groupList[_i20].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.groupList = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_userName)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t User::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("User");
+
+  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->userName);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.groupList) {
+    xfer += oprot->writeFieldBegin("groupList", ::apache::thrift::protocol::T_LIST, 2);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->groupList.size()));
+      std::vector<Group> ::const_iterator _iter21;
+      for (_iter21 = this->groupList.begin(); _iter21 != this->groupList.end(); ++_iter21)
+      {
+        xfer += (*_iter21).write(oprot);
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(User &a, User &b) {
+  using ::std::swap;
+  swap(a.userName, b.userName);
+  swap(a.groupList, b.groupList);
+  swap(a.__isset, b.__isset);
+}
+
+User::User(const User& other22) {
+  userName = other22.userName;
+  groupList = other22.groupList;
+  __isset = other22.__isset;
+}
+User& User::operator=(const User& other23) {
+  userName = other23.userName;
+  groupList = other23.groupList;
+  __isset = other23.__isset;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const User& obj) {
+  using apache::thrift::to_string;
+  out << "User(";
+  out << "userName=" << to_string(obj.userName);
+  out << ", " << "groupList="; (obj.__isset.groupList ? (out << to_string(obj.groupList)) : (out << "<null>"));
+  out << ")";
+  return out;
+}
+
+
+Gateway::~Gateway() throw() {
+}
+
+
+void Gateway::__set_gatewayId(const std::string& val) {
+  this->gatewayId = val;
+}
+
+void Gateway::__set_gatewayName(const std::string& val) {
+  this->gatewayName = val;
+__isset.gatewayName = true;
+}
+
+void Gateway::__set_domain(const std::string& val) {
+  this->domain = val;
+__isset.domain = true;
+}
+
+void Gateway::__set_emailAddress(const std::string& val) {
+  this->emailAddress = val;
+__isset.emailAddress = true;
+}
+
+const char* Gateway::ascii_fingerprint = "6BA700CA2E5FC52A8DA5ADCF811DC8DA";
+const uint8_t Gateway::binary_fingerprint[16] = {0x6B,0xA7,0x00,0xCA,0x2E,0x5F,0xC5,0x2A,0x8D,0xA5,0xAD,0xCF,0x81,0x1D,0xC8,0xDA};
+
+uint32_t Gateway::read(::apache::thrift::protocol::TProtocol* 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;
+
+  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->gatewayId);
+          isset_gatewayId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->gatewayName);
+          this->__isset.gatewayName = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->domain);
+          this->__isset.domain = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->emailAddress);
+          this->__isset.emailAddress = 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);
+  return xfer;
+}
+
+uint32_t Gateway::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("Gateway");
+
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->gatewayId);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.gatewayName) {
+    xfer += oprot->writeFieldBegin("gatewayName", ::apache::thrift::protocol::T_STRING, 2);
+    xfer += oprot->writeString(this->gatewayName);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.domain) {
+    xfer += oprot->writeFieldBegin("domain", ::apache::thrift::protocol::T_STRING, 3);
+    xfer += oprot->writeString(this->domain);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.emailAddress) {
+    xfer += oprot->writeFieldBegin("emailAddress", ::apache::thrift::protocol::T_STRING, 4);
+    xfer += oprot->writeString(this->emailAddress);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(Gateway &a, Gateway &b) {
+  using ::std::swap;
+  swap(a.gatewayId, b.gatewayId);
+  swap(a.gatewayName, b.gatewayName);
+  swap(a.domain, b.domain);
+  swap(a.emailAddress, b.emailAddress);
+  swap(a.__isset, b.__isset);
+}
+
+Gateway::Gateway(const Gateway& other24) {
+  gatewayId = other24.gatewayId;
+  gatewayName = other24.gatewayName;
+  domain = other24.domain;
+  emailAddress = other24.emailAddress;
+  __isset = other24.__isset;
+}
+Gateway& Gateway::operator=(const Gateway& other25) {
+  gatewayId = other25.gatewayId;
+  gatewayName = other25.gatewayName;
+  domain = other25.domain;
+  emailAddress = other25.emailAddress;
+  __isset = other25.__isset;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const Gateway& obj) {
+  using apache::thrift::to_string;
+  out << "Gateway(";
+  out << "gatewayId=" << to_string(obj.gatewayId);
+  out << ", " << "gatewayName="; (obj.__isset.gatewayName ? (out << to_string(obj.gatewayName)) : (out << "<null>"));
+  out << ", " << "domain="; (obj.__isset.domain ? (out << to_string(obj.domain)) : (out << "<null>"));
+  out << ", " << "emailAddress="; (obj.__isset.emailAddress ? (out << to_string(obj.emailAddress)) : (out << "<null>"));
+  out << ")";
+  return out;
+}
+
+}}}} // namespace

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/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
new file mode 100644
index 0000000..148a753
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspace_model_types.h
@@ -0,0 +1,300 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef workspace_model_TYPES_H
+#define workspace_model_TYPES_H
+
+#include <iosfwd>
+
+#include <thrift/Thrift.h>
+#include <thrift/TApplicationException.h>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/transport/TTransport.h>
+
+#include <thrift/cxxfunctional.h>
+#include "airavata_commons_types.h"
+
+
+namespace apache { namespace airavata { namespace model { namespace workspace {
+
+class Group;
+
+class Project;
+
+class User;
+
+class Gateway;
+
+typedef struct _Group__isset {
+  _Group__isset() : description(false) {}
+  bool description :1;
+} _Group__isset;
+
+class Group {
+ public:
+
+  static const char* ascii_fingerprint; // = "5B708A954C550ECA9C1A49D3C5CAFAB9";
+  static const uint8_t binary_fingerprint[16]; // = {0x5B,0x70,0x8A,0x95,0x4C,0x55,0x0E,0xCA,0x9C,0x1A,0x49,0xD3,0xC5,0xCA,0xFA,0xB9};
+
+  Group(const Group&);
+  Group& operator=(const Group&);
+  Group() : groupName(), description() {
+  }
+
+  virtual ~Group() throw();
+  std::string groupName;
+  std::string description;
+
+  _Group__isset __isset;
+
+  void __set_groupName(const std::string& val);
+
+  void __set_description(const std::string& val);
+
+  bool operator == (const Group & rhs) const
+  {
+    if (!(groupName == rhs.groupName))
+      return false;
+    if (__isset.description != rhs.__isset.description)
+      return false;
+    else if (__isset.description && !(description == rhs.description))
+      return false;
+    return true;
+  }
+  bool operator != (const Group &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Group & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const Group& obj);
+};
+
+void swap(Group &a, Group &b);
+
+typedef struct _Project__isset {
+  _Project__isset() : description(false), creationTime(false), sharedUsers(false), sharedGroups(false) {}
+  bool description :1;
+  bool creationTime :1;
+  bool sharedUsers :1;
+  bool sharedGroups :1;
+} _Project__isset;
+
+class Project {
+ public:
+
+  static const char* ascii_fingerprint; // = "AFD8090DE564134035942D450F918628";
+  static const uint8_t binary_fingerprint[16]; // = {0xAF,0xD8,0x09,0x0D,0xE5,0x64,0x13,0x40,0x35,0x94,0x2D,0x45,0x0F,0x91,0x86,0x28};
+
+  Project(const Project&);
+  Project& operator=(const Project&);
+  Project() : projectID("DO_NOT_SET_AT_CLIENTS"), owner(), name(), description(), creationTime(0) {
+  }
+
+  virtual ~Project() throw();
+  std::string projectID;
+  std::string owner;
+  std::string name;
+  std::string description;
+  int64_t creationTime;
+  std::vector<std::string>  sharedUsers;
+  std::vector<std::string>  sharedGroups;
+
+  _Project__isset __isset;
+
+  void __set_projectID(const std::string& val);
+
+  void __set_owner(const std::string& val);
+
+  void __set_name(const std::string& val);
+
+  void __set_description(const std::string& val);
+
+  void __set_creationTime(const int64_t val);
+
+  void __set_sharedUsers(const std::vector<std::string> & val);
+
+  void __set_sharedGroups(const std::vector<std::string> & val);
+
+  bool operator == (const Project & rhs) const
+  {
+    if (!(projectID == rhs.projectID))
+      return false;
+    if (!(owner == rhs.owner))
+      return false;
+    if (!(name == rhs.name))
+      return false;
+    if (__isset.description != rhs.__isset.description)
+      return false;
+    else if (__isset.description && !(description == rhs.description))
+      return false;
+    if (__isset.creationTime != rhs.__isset.creationTime)
+      return false;
+    else if (__isset.creationTime && !(creationTime == rhs.creationTime))
+      return false;
+    if (__isset.sharedUsers != rhs.__isset.sharedUsers)
+      return false;
+    else if (__isset.sharedUsers && !(sharedUsers == rhs.sharedUsers))
+      return false;
+    if (__isset.sharedGroups != rhs.__isset.sharedGroups)
+      return false;
+    else if (__isset.sharedGroups && !(sharedGroups == rhs.sharedGroups))
+      return false;
+    return true;
+  }
+  bool operator != (const Project &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Project & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const Project& obj);
+};
+
+void swap(Project &a, Project &b);
+
+typedef struct _User__isset {
+  _User__isset() : groupList(false) {}
+  bool groupList :1;
+} _User__isset;
+
+class User {
+ public:
+
+  static const char* ascii_fingerprint; // = "D7DA282D6B2F08CB02B4E3CF47DB44E5";
+  static const uint8_t binary_fingerprint[16]; // = {0xD7,0xDA,0x28,0x2D,0x6B,0x2F,0x08,0xCB,0x02,0xB4,0xE3,0xCF,0x47,0xDB,0x44,0xE5};
+
+  User(const User&);
+  User& operator=(const User&);
+  User() : userName() {
+  }
+
+  virtual ~User() throw();
+  std::string userName;
+  std::vector<Group>  groupList;
+
+  _User__isset __isset;
+
+  void __set_userName(const std::string& val);
+
+  void __set_groupList(const std::vector<Group> & val);
+
+  bool operator == (const User & rhs) const
+  {
+    if (!(userName == rhs.userName))
+      return false;
+    if (__isset.groupList != rhs.__isset.groupList)
+      return false;
+    else if (__isset.groupList && !(groupList == rhs.groupList))
+      return false;
+    return true;
+  }
+  bool operator != (const User &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const User & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const User& obj);
+};
+
+void swap(User &a, User &b);
+
+typedef struct _Gateway__isset {
+  _Gateway__isset() : gatewayName(false), domain(false), emailAddress(false) {}
+  bool gatewayName :1;
+  bool domain :1;
+  bool emailAddress :1;
+} _Gateway__isset;
+
+class Gateway {
+ public:
+
+  static const char* ascii_fingerprint; // = "6BA700CA2E5FC52A8DA5ADCF811DC8DA";
+  static const uint8_t binary_fingerprint[16]; // = {0x6B,0xA7,0x00,0xCA,0x2E,0x5F,0xC5,0x2A,0x8D,0xA5,0xAD,0xCF,0x81,0x1D,0xC8,0xDA};
+
+  Gateway(const Gateway&);
+  Gateway& operator=(const Gateway&);
+  Gateway() : gatewayId(), gatewayName(), domain(), emailAddress() {
+  }
+
+  virtual ~Gateway() throw();
+  std::string gatewayId;
+  std::string gatewayName;
+  std::string domain;
+  std::string emailAddress;
+
+  _Gateway__isset __isset;
+
+  void __set_gatewayId(const std::string& val);
+
+  void __set_gatewayName(const std::string& val);
+
+  void __set_domain(const std::string& val);
+
+  void __set_emailAddress(const std::string& val);
+
+  bool operator == (const Gateway & rhs) const
+  {
+    if (!(gatewayId == rhs.gatewayId))
+      return false;
+    if (__isset.gatewayName != rhs.__isset.gatewayName)
+      return false;
+    else if (__isset.gatewayName && !(gatewayName == rhs.gatewayName))
+      return false;
+    if (__isset.domain != rhs.__isset.domain)
+      return false;
+    else if (__isset.domain && !(domain == rhs.domain))
+      return false;
+    if (__isset.emailAddress != rhs.__isset.emailAddress)
+      return false;
+    else if (__isset.emailAddress && !(emailAddress == rhs.emailAddress))
+      return false;
+    return true;
+  }
+  bool operator != (const Gateway &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Gateway & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const Gateway& obj);
+};
+
+void swap(Gateway &a, Gateway &b);
+
+}}}} // namespace
+
+#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php
index 8fe34f7..9afce08 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php
@@ -29,29 +29,35 @@ interface AiravataIf {
    */
   public function getAPIVersion(\Airavata\Model\Security\AuthzToken $authzToken);
   /**
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param \Airavata\Model\Workspace\Gateway $gateway
    * @return string
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function addGateway(\Airavata\Model\Workspace\Gateway $gateway);
+  public function addGateway(\Airavata\Model\Security\AuthzToken $authzToken, \Airavata\Model\Workspace\Gateway $gateway);
   /**
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $gatewayId
    * @param \Airavata\Model\Workspace\Gateway $updatedGateway
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function updateGateway($gatewayId, \Airavata\Model\Workspace\Gateway $updatedGateway);
+  public function updateGateway(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, \Airavata\Model\Workspace\Gateway $updatedGateway);
   /**
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $gatewayId
    * @return \Airavata\Model\Workspace\Gateway
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function getGateway($gatewayId);
+  public function getGateway(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId);
   /**
    * @param string $gatewayId
    * @return bool
@@ -2561,15 +2567,16 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     throw new \Exception("getAPIVersion failed: unknown result");
   }
 
-  public function addGateway(\Airavata\Model\Workspace\Gateway $gateway)
+  public function addGateway(\Airavata\Model\Security\AuthzToken $authzToken, \Airavata\Model\Workspace\Gateway $gateway)
   {
-    $this->send_addGateway($gateway);
+    $this->send_addGateway($authzToken, $gateway);
     return $this->recv_addGateway();
   }
 
-  public function send_addGateway(\Airavata\Model\Workspace\Gateway $gateway)
+  public function send_addGateway(\Airavata\Model\Security\AuthzToken $authzToken, \Airavata\Model\Workspace\Gateway $gateway)
   {
     $args = new \Airavata\API\Airavata_addGateway_args();
+    $args->authzToken = $authzToken;
     $args->gateway = $gateway;
     $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
     if ($bin_accel)
@@ -2618,18 +2625,22 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     if ($result->ase !== null) {
       throw $result->ase;
     }
+    if ($result->ae !== null) {
+      throw $result->ae;
+    }
     throw new \Exception("addGateway failed: unknown result");
   }
 
-  public function updateGateway($gatewayId, \Airavata\Model\Workspace\Gateway $updatedGateway)
+  public function updateGateway(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, \Airavata\Model\Workspace\Gateway $updatedGateway)
   {
-    $this->send_updateGateway($gatewayId, $updatedGateway);
+    $this->send_updateGateway($authzToken, $gatewayId, $updatedGateway);
     $this->recv_updateGateway();
   }
 
-  public function send_updateGateway($gatewayId, \Airavata\Model\Workspace\Gateway $updatedGateway)
+  public function send_updateGateway(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, \Airavata\Model\Workspace\Gateway $updatedGateway)
   {
     $args = new \Airavata\API\Airavata_updateGateway_args();
+    $args->authzToken = $authzToken;
     $args->gatewayId = $gatewayId;
     $args->updatedGateway = $updatedGateway;
     $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
@@ -2676,18 +2687,22 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     if ($result->ase !== null) {
       throw $result->ase;
     }
+    if ($result->ae !== null) {
+      throw $result->ae;
+    }
     return;
   }
 
-  public function getGateway($gatewayId)
+  public function getGateway(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId)
   {
-    $this->send_getGateway($gatewayId);
+    $this->send_getGateway($authzToken, $gatewayId);
     return $this->recv_getGateway();
   }
 
-  public function send_getGateway($gatewayId)
+  public function send_getGateway(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId)
   {
     $args = new \Airavata\API\Airavata_getGateway_args();
+    $args->authzToken = $authzToken;
     $args->gatewayId = $gatewayId;
     $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
     if ($bin_accel)
@@ -2736,6 +2751,9 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     if ($result->ase !== null) {
       throw $result->ase;
     }
+    if ($result->ae !== null) {
+      throw $result->ae;
+    }
     throw new \Exception("getGateway failed: unknown result");
   }
 
@@ -10501,6 +10519,10 @@ class Airavata_addGateway_args {
   static $_TSPEC;
 
   /**
+   * @var \Airavata\Model\Security\AuthzToken
+   */
+  public $authzToken = null;
+  /**
    * @var \Airavata\Model\Workspace\Gateway
    */
   public $gateway = null;
@@ -10509,6 +10531,11 @@ class Airavata_addGateway_args {
     if (!isset(self::$_TSPEC)) {
       self::$_TSPEC = array(
         1 => array(
+          'var' => 'authzToken',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\Model\Security\AuthzToken',
+          ),
+        2 => array(
           'var' => 'gateway',
           'type' => TType::STRUCT,
           'class' => '\Airavata\Model\Workspace\Gateway',
@@ -10516,6 +10543,9 @@ class Airavata_addGateway_args {
         );
     }
     if (is_array($vals)) {
+      if (isset($vals['authzToken'])) {
+        $this->authzToken = $vals['authzToken'];
+      }
       if (isset($vals['gateway'])) {
         $this->gateway = $vals['gateway'];
       }
@@ -10543,6 +10573,14 @@ class Airavata_addGateway_args {
       {
         case 1:
           if ($ftype == TType::STRUCT) {
+            $this->authzToken = new \Airavata\Model\Security\AuthzToken();
+            $xfer += $this->authzToken->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRUCT) {
             $this->gateway = new \Airavata\Model\Workspace\Gateway();
             $xfer += $this->gateway->read($input);
           } else {
@@ -10562,11 +10600,19 @@ class Airavata_addGateway_args {
   public function write($output) {
     $xfer = 0;
     $xfer += $output->writeStructBegin('Airavata_addGateway_args');
+    if ($this->authzToken !== null) {
+      if (!is_object($this->authzToken)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('authzToken', TType::STRUCT, 1);
+      $xfer += $this->authzToken->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
     if ($this->gateway !== null) {
       if (!is_object($this->gateway)) {
         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
       }
-      $xfer += $output->writeFieldBegin('gateway', TType::STRUCT, 1);
+      $xfer += $output->writeFieldBegin('gateway', TType::STRUCT, 2);
       $xfer += $this->gateway->write($output);
       $xfer += $output->writeFieldEnd();
     }
@@ -10596,6 +10642,10 @@ class Airavata_addGateway_result {
    * @var \Airavata\API\Error\AiravataSystemException
    */
   public $ase = null;
+  /**
+   * @var \Airavata\API\Error\AuthorizationException
+   */
+  public $ae = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
@@ -10619,6 +10669,11 @@ class Airavata_addGateway_result {
           'type' => TType::STRUCT,
           'class' => '\Airavata\API\Error\AiravataSystemException',
           ),
+        4 => array(
+          'var' => 'ae',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\API\Error\AuthorizationException',
+          ),
         );
     }
     if (is_array($vals)) {
@@ -10634,6 +10689,9 @@ class Airavata_addGateway_result {
       if (isset($vals['ase'])) {
         $this->ase = $vals['ase'];
       }
+      if (isset($vals['ae'])) {
+        $this->ae = $vals['ae'];
+      }
     }
   }
 
@@ -10687,6 +10745,14 @@ class Airavata_addGateway_result {
             $xfer += $input->skip($ftype);
           }
           break;
+        case 4:
+          if ($ftype == TType::STRUCT) {
+            $this->ae = new \Airavata\API\Error\AuthorizationException();
+            $xfer += $this->ae->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
         default:
           $xfer += $input->skip($ftype);
           break;
@@ -10720,6 +10786,11 @@ class Airavata_addGateway_result {
       $xfer += $this->ase->write($output);
       $xfer += $output->writeFieldEnd();
     }
+    if ($this->ae !== null) {
+      $xfer += $output->writeFieldBegin('ae', TType::STRUCT, 4);
+      $xfer += $this->ae->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
     $xfer += $output->writeFieldStop();
     $xfer += $output->writeStructEnd();
     return $xfer;
@@ -10731,6 +10802,10 @@ class Airavata_updateGateway_args {
   static $_TSPEC;
 
   /**
+   * @var \Airavata\Model\Security\AuthzToken
+   */
+  public $authzToken = null;
+  /**
    * @var string
    */
   public $gatewayId = null;
@@ -10743,10 +10818,15 @@ class Airavata_updateGateway_args {
     if (!isset(self::$_TSPEC)) {
       self::$_TSPEC = array(
         1 => array(
+          'var' => 'authzToken',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\Model\Security\AuthzToken',
+          ),
+        2 => array(
           'var' => 'gatewayId',
           'type' => TType::STRING,
           ),
-        2 => array(
+        3 => array(
           'var' => 'updatedGateway',
           'type' => TType::STRUCT,
           'class' => '\Airavata\Model\Workspace\Gateway',
@@ -10754,6 +10834,9 @@ class Airavata_updateGateway_args {
         );
     }
     if (is_array($vals)) {
+      if (isset($vals['authzToken'])) {
+        $this->authzToken = $vals['authzToken'];
+      }
       if (isset($vals['gatewayId'])) {
         $this->gatewayId = $vals['gatewayId'];
       }
@@ -10783,13 +10866,21 @@ class Airavata_updateGateway_args {
       switch ($fid)
       {
         case 1:
+          if ($ftype == TType::STRUCT) {
+            $this->authzToken = new \Airavata\Model\Security\AuthzToken();
+            $xfer += $this->authzToken->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
           if ($ftype == TType::STRING) {
             $xfer += $input->readString($this->gatewayId);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 2:
+        case 3:
           if ($ftype == TType::STRUCT) {
             $this->updatedGateway = new \Airavata\Model\Workspace\Gateway();
             $xfer += $this->updatedGateway->read($input);
@@ -10810,8 +10901,16 @@ class Airavata_updateGateway_args {
   public function write($output) {
     $xfer = 0;
     $xfer += $output->writeStructBegin('Airavata_updateGateway_args');
+    if ($this->authzToken !== null) {
+      if (!is_object($this->authzToken)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('authzToken', TType::STRUCT, 1);
+      $xfer += $this->authzToken->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
     if ($this->gatewayId !== null) {
-      $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 1);
+      $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 2);
       $xfer += $output->writeString($this->gatewayId);
       $xfer += $output->writeFieldEnd();
     }
@@ -10819,7 +10918,7 @@ class Airavata_updateGateway_args {
       if (!is_object($this->updatedGateway)) {
         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
       }
-      $xfer += $output->writeFieldBegin('updatedGateway', TType::STRUCT, 2);
+      $xfer += $output->writeFieldBegin('updatedGateway', TType::STRUCT, 3);
       $xfer += $this->updatedGateway->write($output);
       $xfer += $output->writeFieldEnd();
     }
@@ -10845,6 +10944,10 @@ class Airavata_updateGateway_result {
    * @var \Airavata\API\Error\AiravataSystemException
    */
   public $ase = null;
+  /**
+   * @var \Airavata\API\Error\AuthorizationException
+   */
+  public $ae = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
@@ -10864,6 +10967,11 @@ class Airavata_updateGateway_result {
           'type' => TType::STRUCT,
           'class' => '\Airavata\API\Error\AiravataSystemException',
           ),
+        4 => array(
+          'var' => 'ae',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\API\Error\AuthorizationException',
+          ),
         );
     }
     if (is_array($vals)) {
@@ -10876,6 +10984,9 @@ class Airavata_updateGateway_result {
       if (isset($vals['ase'])) {
         $this->ase = $vals['ase'];
       }
+      if (isset($vals['ae'])) {
+        $this->ae = $vals['ae'];
+      }
     }
   }
 
@@ -10922,6 +11033,14 @@ class Airavata_updateGateway_result {
             $xfer += $input->skip($ftype);
           }
           break;
+        case 4:
+          if ($ftype == TType::STRUCT) {
+            $this->ae = new \Airavata\API\Error\AuthorizationException();
+            $xfer += $this->ae->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
         default:
           $xfer += $input->skip($ftype);
           break;
@@ -10950,6 +11069,11 @@ class Airavata_updateGateway_result {
       $xfer += $this->ase->write($output);
       $xfer += $output->writeFieldEnd();
     }
+    if ($this->ae !== null) {
+      $xfer += $output->writeFieldBegin('ae', TType::STRUCT, 4);
+      $xfer += $this->ae->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
     $xfer += $output->writeFieldStop();
     $xfer += $output->writeStructEnd();
     return $xfer;
@@ -10961,6 +11085,10 @@ class Airavata_getGateway_args {
   static $_TSPEC;
 
   /**
+   * @var \Airavata\Model\Security\AuthzToken
+   */
+  public $authzToken = null;
+  /**
    * @var string
    */
   public $gatewayId = null;
@@ -10969,12 +11097,20 @@ class Airavata_getGateway_args {
     if (!isset(self::$_TSPEC)) {
       self::$_TSPEC = array(
         1 => array(
+          'var' => 'authzToken',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\Model\Security\AuthzToken',
+          ),
+        2 => array(
           'var' => 'gatewayId',
           'type' => TType::STRING,
           ),
         );
     }
     if (is_array($vals)) {
+      if (isset($vals['authzToken'])) {
+        $this->authzToken = $vals['authzToken'];
+      }
       if (isset($vals['gatewayId'])) {
         $this->gatewayId = $vals['gatewayId'];
       }
@@ -11001,6 +11137,14 @@ class Airavata_getGateway_args {
       switch ($fid)
       {
         case 1:
+          if ($ftype == TType::STRUCT) {
+            $this->authzToken = new \Airavata\Model\Security\AuthzToken();
+            $xfer += $this->authzToken->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
           if ($ftype == TType::STRING) {
             $xfer += $input->readString($this->gatewayId);
           } else {
@@ -11020,8 +11164,16 @@ class Airavata_getGateway_args {
   public function write($output) {
     $xfer = 0;
     $xfer += $output->writeStructBegin('Airavata_getGateway_args');
+    if ($this->authzToken !== null) {
+      if (!is_object($this->authzToken)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('authzToken', TType::STRUCT, 1);
+      $xfer += $this->authzToken->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
     if ($this->gatewayId !== null) {
-      $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 1);
+      $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 2);
       $xfer += $output->writeString($this->gatewayId);
       $xfer += $output->writeFieldEnd();
     }
@@ -11051,6 +11203,10 @@ class Airavata_getGateway_result {
    * @var \Airavata\API\Error\AiravataSystemException
    */
   public $ase = null;
+  /**
+   * @var \Airavata\API\Error\AuthorizationException
+   */
+  public $ae = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
@@ -11075,6 +11231,11 @@ class Airavata_getGateway_result {
           'type' => TType::STRUCT,
           'class' => '\Airavata\API\Error\AiravataSystemException',
           ),
+        4 => array(
+          'var' => 'ae',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\API\Error\AuthorizationException',
+          ),
         );
     }
     if (is_array($vals)) {
@@ -11090,6 +11251,9 @@ class Airavata_getGateway_result {
       if (isset($vals['ase'])) {
         $this->ase = $vals['ase'];
       }
+      if (isset($vals['ae'])) {
+        $this->ae = $vals['ae'];
+      }
     }
   }
 
@@ -11144,6 +11308,14 @@ class Airavata_getGateway_result {
             $xfer += $input->skip($ftype);
           }
           break;
+        case 4:
+          if ($ftype == TType::STRUCT) {
+            $this->ae = new \Airavata\API\Error\AuthorizationException();
+            $xfer += $this->ae->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
         default:
           $xfer += $input->skip($ftype);
           break;
@@ -11180,6 +11352,11 @@ class Airavata_getGateway_result {
       $xfer += $this->ase->write($output);
       $xfer += $output->writeFieldEnd();
     }
+    if ($this->ae !== null) {
+      $xfer += $output->writeFieldBegin('ae', TType::STRUCT, 4);
+      $xfer += $this->ae->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
     $xfer += $output->writeFieldStop();
     $xfer += $output->writeStructEnd();
     return $xfer;

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/AppDeployment/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/AppDeployment/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/AppDeployment/Types.php
index 0b10708..1a237c4 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/AppDeployment/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/AppDeployment/Types.php
@@ -828,12 +828,4 @@ class ApplicationDeploymentDescription {
 
 }
 
-final class Constant extends \Thrift\Type\TConstant {
-  static protected $DEFAULT_ID;
-
-  static protected function init_DEFAULT_ID() {
-    return "DO_NOT_SET_AT_CLIENTS";
-  }
-}
-
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/AppInterface/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/AppInterface/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/AppInterface/Types.php
index df31203..3c03cc7 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/AppInterface/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/AppInterface/Types.php
@@ -302,12 +302,4 @@ class ApplicationInterfaceDescription {
 
 }
 
-final class Constant extends \Thrift\Type\TConstant {
-  static protected $DEFAULT_ID;
-
-  static protected function init_DEFAULT_ID() {
-    return "DO_NOT_SET_AT_CLIENTS";
-  }
-}
-
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php
index f1e2cd3..b773cc4 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php
@@ -2738,12 +2738,4 @@ class ComputeResourceDescription {
 
 }
 
-final class Constant extends \Thrift\Type\TConstant {
-  static protected $DEFAULT_ID;
-
-  static protected function init_DEFAULT_ID() {
-    return "DO_NOT_SET_AT_CLIENTS";
-  }
-}
-
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Application/Io/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Application/Io/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Application/Io/Types.php
new file mode 100644
index 0000000..a74e0f9
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Application/Io/Types.php
@@ -0,0 +1,657 @@
+<?php
+namespace Airavata\Model\Application\Io;
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+use Thrift\Base\TBase;
+use Thrift\Type\TType;
+use Thrift\Type\TMessageType;
+use Thrift\Exception\TException;
+use Thrift\Exception\TProtocolException;
+use Thrift\Protocol\TProtocol;
+use Thrift\Protocol\TBinaryProtocolAccelerated;
+use Thrift\Exception\TApplicationException;
+
+
+/**
+ * Data Types supported in Airavata. The primitive data types
+ * 
+ */
+final class DataType {
+  const STRING = 0;
+  const INTEGER = 1;
+  const FLOAT = 2;
+  const URI = 3;
+  const STDOUT = 4;
+  const STDERR = 5;
+  static public $__names = array(
+    0 => 'STRING',
+    1 => 'INTEGER',
+    2 => 'FLOAT',
+    3 => 'URI',
+    4 => 'STDOUT',
+    5 => 'STDERR',
+  );
+}
+
+/**
+ * Application Inputs. The paramters describe how inputs are passed to the application.
+ * 
+ * name:
+ *   Name of the parameter.
+ * 
+ * value:
+ *   Value of the parameter. A default value could be set during registration.
+ * 
+ * type:
+ *   Data type of the parameter
+ * 
+ * applicationArguement:
+ *   The argument flag sent to the application. Such as -p pressure.
+ * 
+ * standardInput:
+ *   When this value is set, the parameter is sent as standard input rather than a parameter.
+ *   Typically this is passed using redirection operator ">".
+ * 
+ * userFriendlyDescription:
+ *   Description to be displayed at the user interface.
+ * 
+ * metaData:
+ *   Any metadat. This is typically ignore by Airavata and is used by gateways for application configuration.
+ * 
+ */
+class InputDataObjectType {
+  static $_TSPEC;
+
+  /**
+   * @var string
+   */
+  public $name = null;
+  /**
+   * @var string
+   */
+  public $value = null;
+  /**
+   * @var int
+   */
+  public $type = null;
+  /**
+   * @var string
+   */
+  public $applicationArgument = null;
+  /**
+   * @var bool
+   */
+  public $standardInput = null;
+  /**
+   * @var string
+   */
+  public $userFriendlyDescription = null;
+  /**
+   * @var string
+   */
+  public $metaData = null;
+  /**
+   * @var int
+   */
+  public $inputOrder = null;
+  /**
+   * @var bool
+   */
+  public $isRequired = null;
+  /**
+   * @var bool
+   */
+  public $requiredToAddedToCommandLine = null;
+  /**
+   * @var bool
+   */
+  public $dataStaged = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'name',
+          'type' => TType::STRING,
+          ),
+        2 => array(
+          'var' => 'value',
+          'type' => TType::STRING,
+          ),
+        3 => array(
+          'var' => 'type',
+          'type' => TType::I32,
+          ),
+        4 => array(
+          'var' => 'applicationArgument',
+          'type' => TType::STRING,
+          ),
+        5 => array(
+          'var' => 'standardInput',
+          'type' => TType::BOOL,
+          ),
+        6 => array(
+          'var' => 'userFriendlyDescription',
+          'type' => TType::STRING,
+          ),
+        7 => array(
+          'var' => 'metaData',
+          'type' => TType::STRING,
+          ),
+        8 => array(
+          'var' => 'inputOrder',
+          'type' => TType::I32,
+          ),
+        9 => array(
+          'var' => 'isRequired',
+          'type' => TType::BOOL,
+          ),
+        10 => array(
+          'var' => 'requiredToAddedToCommandLine',
+          'type' => TType::BOOL,
+          ),
+        11 => array(
+          'var' => 'dataStaged',
+          'type' => TType::BOOL,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['name'])) {
+        $this->name = $vals['name'];
+      }
+      if (isset($vals['value'])) {
+        $this->value = $vals['value'];
+      }
+      if (isset($vals['type'])) {
+        $this->type = $vals['type'];
+      }
+      if (isset($vals['applicationArgument'])) {
+        $this->applicationArgument = $vals['applicationArgument'];
+      }
+      if (isset($vals['standardInput'])) {
+        $this->standardInput = $vals['standardInput'];
+      }
+      if (isset($vals['userFriendlyDescription'])) {
+        $this->userFriendlyDescription = $vals['userFriendlyDescription'];
+      }
+      if (isset($vals['metaData'])) {
+        $this->metaData = $vals['metaData'];
+      }
+      if (isset($vals['inputOrder'])) {
+        $this->inputOrder = $vals['inputOrder'];
+      }
+      if (isset($vals['isRequired'])) {
+        $this->isRequired = $vals['isRequired'];
+      }
+      if (isset($vals['requiredToAddedToCommandLine'])) {
+        $this->requiredToAddedToCommandLine = $vals['requiredToAddedToCommandLine'];
+      }
+      if (isset($vals['dataStaged'])) {
+        $this->dataStaged = $vals['dataStaged'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'InputDataObjectType';
+  }
+
+  public function read($input)
+  {
+    $xfer = 0;
+    $fname = null;
+    $ftype = 0;
+    $fid = 0;
+    $xfer += $input->readStructBegin($fname);
+    while (true)
+    {
+      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+      if ($ftype == TType::STOP) {
+        break;
+      }
+      switch ($fid)
+      {
+        case 1:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->name);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->value);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->type);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 4:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->applicationArgument);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 5:
+          if ($ftype == TType::BOOL) {
+            $xfer += $input->readBool($this->standardInput);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 6:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->userFriendlyDescription);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 7:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->metaData);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 8:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->inputOrder);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 9:
+          if ($ftype == TType::BOOL) {
+            $xfer += $input->readBool($this->isRequired);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 10:
+          if ($ftype == TType::BOOL) {
+            $xfer += $input->readBool($this->requiredToAddedToCommandLine);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 11:
+          if ($ftype == TType::BOOL) {
+            $xfer += $input->readBool($this->dataStaged);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        default:
+          $xfer += $input->skip($ftype);
+          break;
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+  public function write($output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin('InputDataObjectType');
+    if ($this->name !== null) {
+      $xfer += $output->writeFieldBegin('name', TType::STRING, 1);
+      $xfer += $output->writeString($this->name);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->value !== null) {
+      $xfer += $output->writeFieldBegin('value', TType::STRING, 2);
+      $xfer += $output->writeString($this->value);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->type !== null) {
+      $xfer += $output->writeFieldBegin('type', TType::I32, 3);
+      $xfer += $output->writeI32($this->type);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->applicationArgument !== null) {
+      $xfer += $output->writeFieldBegin('applicationArgument', TType::STRING, 4);
+      $xfer += $output->writeString($this->applicationArgument);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->standardInput !== null) {
+      $xfer += $output->writeFieldBegin('standardInput', TType::BOOL, 5);
+      $xfer += $output->writeBool($this->standardInput);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->userFriendlyDescription !== null) {
+      $xfer += $output->writeFieldBegin('userFriendlyDescription', TType::STRING, 6);
+      $xfer += $output->writeString($this->userFriendlyDescription);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->metaData !== null) {
+      $xfer += $output->writeFieldBegin('metaData', TType::STRING, 7);
+      $xfer += $output->writeString($this->metaData);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->inputOrder !== null) {
+      $xfer += $output->writeFieldBegin('inputOrder', TType::I32, 8);
+      $xfer += $output->writeI32($this->inputOrder);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->isRequired !== null) {
+      $xfer += $output->writeFieldBegin('isRequired', TType::BOOL, 9);
+      $xfer += $output->writeBool($this->isRequired);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->requiredToAddedToCommandLine !== null) {
+      $xfer += $output->writeFieldBegin('requiredToAddedToCommandLine', TType::BOOL, 10);
+      $xfer += $output->writeBool($this->requiredToAddedToCommandLine);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->dataStaged !== null) {
+      $xfer += $output->writeFieldBegin('dataStaged', TType::BOOL, 11);
+      $xfer += $output->writeBool($this->dataStaged);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+/**
+ * Application Outputs. The paramters describe how outputs generated by the application.
+ * 
+ * name:
+ *   Name of the parameter.
+ * 
+ * value:
+ *   Value of the parameter.
+ * 
+ * type:
+ *   Data type of the parameter
+ * 
+ * applicationArguement:
+ *   The argument flag sent to the application. Such as -p pressure.
+ * 
+ * standardInput:
+ *   When this value is set, the parameter is sent as standard input rather than a parameter.
+ *   Typically this is passed using redirection operator ">".
+ * 
+ * userFriendlyDescription:
+ *   Description to be displayed at the user interface.
+ * 
+ * metaData:
+ *   Any metadat. This is typically ignore by Airavata and is used by gateways for application configuration.
+ * 
+ */
+class OutputDataObjectType {
+  static $_TSPEC;
+
+  /**
+   * @var string
+   */
+  public $name = null;
+  /**
+   * @var string
+   */
+  public $value = null;
+  /**
+   * @var int
+   */
+  public $type = null;
+  /**
+   * @var string
+   */
+  public $applicationArgument = null;
+  /**
+   * @var bool
+   */
+  public $isRequired = null;
+  /**
+   * @var bool
+   */
+  public $requiredToAddedToCommandLine = null;
+  /**
+   * @var bool
+   */
+  public $dataMovement = null;
+  /**
+   * @var string
+   */
+  public $location = null;
+  /**
+   * @var string
+   */
+  public $searchQuery = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'name',
+          'type' => TType::STRING,
+          ),
+        2 => array(
+          'var' => 'value',
+          'type' => TType::STRING,
+          ),
+        3 => array(
+          'var' => 'type',
+          'type' => TType::I32,
+          ),
+        4 => array(
+          'var' => 'applicationArgument',
+          'type' => TType::STRING,
+          ),
+        5 => array(
+          'var' => 'isRequired',
+          'type' => TType::BOOL,
+          ),
+        6 => array(
+          'var' => 'requiredToAddedToCommandLine',
+          'type' => TType::BOOL,
+          ),
+        7 => array(
+          'var' => 'dataMovement',
+          'type' => TType::BOOL,
+          ),
+        8 => array(
+          'var' => 'location',
+          'type' => TType::STRING,
+          ),
+        9 => array(
+          'var' => 'searchQuery',
+          'type' => TType::STRING,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['name'])) {
+        $this->name = $vals['name'];
+      }
+      if (isset($vals['value'])) {
+        $this->value = $vals['value'];
+      }
+      if (isset($vals['type'])) {
+        $this->type = $vals['type'];
+      }
+      if (isset($vals['applicationArgument'])) {
+        $this->applicationArgument = $vals['applicationArgument'];
+      }
+      if (isset($vals['isRequired'])) {
+        $this->isRequired = $vals['isRequired'];
+      }
+      if (isset($vals['requiredToAddedToCommandLine'])) {
+        $this->requiredToAddedToCommandLine = $vals['requiredToAddedToCommandLine'];
+      }
+      if (isset($vals['dataMovement'])) {
+        $this->dataMovement = $vals['dataMovement'];
+      }
+      if (isset($vals['location'])) {
+        $this->location = $vals['location'];
+      }
+      if (isset($vals['searchQuery'])) {
+        $this->searchQuery = $vals['searchQuery'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'OutputDataObjectType';
+  }
+
+  public function read($input)
+  {
+    $xfer = 0;
+    $fname = null;
+    $ftype = 0;
+    $fid = 0;
+    $xfer += $input->readStructBegin($fname);
+    while (true)
+    {
+      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+      if ($ftype == TType::STOP) {
+        break;
+      }
+      switch ($fid)
+      {
+        case 1:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->name);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->value);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->type);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 4:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->applicationArgument);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 5:
+          if ($ftype == TType::BOOL) {
+            $xfer += $input->readBool($this->isRequired);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 6:
+          if ($ftype == TType::BOOL) {
+            $xfer += $input->readBool($this->requiredToAddedToCommandLine);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 7:
+          if ($ftype == TType::BOOL) {
+            $xfer += $input->readBool($this->dataMovement);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 8:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->location);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 9:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->searchQuery);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        default:
+          $xfer += $input->skip($ftype);
+          break;
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+  public function write($output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin('OutputDataObjectType');
+    if ($this->name !== null) {
+      $xfer += $output->writeFieldBegin('name', TType::STRING, 1);
+      $xfer += $output->writeString($this->name);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->value !== null) {
+      $xfer += $output->writeFieldBegin('value', TType::STRING, 2);
+      $xfer += $output->writeString($this->value);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->type !== null) {
+      $xfer += $output->writeFieldBegin('type', TType::I32, 3);
+      $xfer += $output->writeI32($this->type);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->applicationArgument !== null) {
+      $xfer += $output->writeFieldBegin('applicationArgument', TType::STRING, 4);
+      $xfer += $output->writeString($this->applicationArgument);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->isRequired !== null) {
+      $xfer += $output->writeFieldBegin('isRequired', TType::BOOL, 5);
+      $xfer += $output->writeBool($this->isRequired);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->requiredToAddedToCommandLine !== null) {
+      $xfer += $output->writeFieldBegin('requiredToAddedToCommandLine', TType::BOOL, 6);
+      $xfer += $output->writeBool($this->requiredToAddedToCommandLine);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->dataMovement !== null) {
+      $xfer += $output->writeFieldBegin('dataMovement', TType::BOOL, 7);
+      $xfer += $output->writeBool($this->dataMovement);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->location !== null) {
+      $xfer += $output->writeFieldBegin('location', TType::STRING, 8);
+      $xfer += $output->writeString($this->location);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->searchQuery !== null) {
+      $xfer += $output->writeFieldBegin('searchQuery', TType::STRING, 9);
+      $xfer += $output->writeString($this->searchQuery);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Commons/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Commons/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Commons/Types.php
new file mode 100644
index 0000000..a4b8b85
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Commons/Types.php
@@ -0,0 +1,475 @@
+<?php
+namespace Airavata\Model\Commons;
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+use Thrift\Base\TBase;
+use Thrift\Type\TType;
+use Thrift\Type\TMessageType;
+use Thrift\Exception\TException;
+use Thrift\Exception\TProtocolException;
+use Thrift\Protocol\TProtocol;
+use Thrift\Protocol\TBinaryProtocolAccelerated;
+use Thrift\Exception\TApplicationException;
+
+
+class ErrorModel {
+  static $_TSPEC;
+
+  /**
+   * @var string
+   */
+  public $errorId = "DO_NOT_SET_AT_CLIENTS";
+  /**
+   * @var int
+   */
+  public $creationTime = null;
+  /**
+   * @var string
+   */
+  public $actualErrorMessage = null;
+  /**
+   * @var string
+   */
+  public $userFriendlyMessage = null;
+  /**
+   * @var bool
+   */
+  public $transientOrPersistent = false;
+  /**
+   * @var string[]
+   */
+  public $rootCauseErrorIdList = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'errorId',
+          'type' => TType::STRING,
+          ),
+        2 => array(
+          'var' => 'creationTime',
+          'type' => TType::I64,
+          ),
+        3 => array(
+          'var' => 'actualErrorMessage',
+          'type' => TType::STRING,
+          ),
+        4 => array(
+          'var' => 'userFriendlyMessage',
+          'type' => TType::STRING,
+          ),
+        5 => array(
+          'var' => 'transientOrPersistent',
+          'type' => TType::BOOL,
+          ),
+        6 => array(
+          'var' => 'rootCauseErrorIdList',
+          'type' => TType::LST,
+          'etype' => TType::STRING,
+          'elem' => array(
+            'type' => TType::STRING,
+            ),
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['errorId'])) {
+        $this->errorId = $vals['errorId'];
+      }
+      if (isset($vals['creationTime'])) {
+        $this->creationTime = $vals['creationTime'];
+      }
+      if (isset($vals['actualErrorMessage'])) {
+        $this->actualErrorMessage = $vals['actualErrorMessage'];
+      }
+      if (isset($vals['userFriendlyMessage'])) {
+        $this->userFriendlyMessage = $vals['userFriendlyMessage'];
+      }
+      if (isset($vals['transientOrPersistent'])) {
+        $this->transientOrPersistent = $vals['transientOrPersistent'];
+      }
+      if (isset($vals['rootCauseErrorIdList'])) {
+        $this->rootCauseErrorIdList = $vals['rootCauseErrorIdList'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'ErrorModel';
+  }
+
+  public function read($input)
+  {
+    $xfer = 0;
+    $fname = null;
+    $ftype = 0;
+    $fid = 0;
+    $xfer += $input->readStructBegin($fname);
+    while (true)
+    {
+      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+      if ($ftype == TType::STOP) {
+        break;
+      }
+      switch ($fid)
+      {
+        case 1:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->errorId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::I64) {
+            $xfer += $input->readI64($this->creationTime);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->actualErrorMessage);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 4:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->userFriendlyMessage);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 5:
+          if ($ftype == TType::BOOL) {
+            $xfer += $input->readBool($this->transientOrPersistent);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 6:
+          if ($ftype == TType::LST) {
+            $this->rootCauseErrorIdList = array();
+            $_size0 = 0;
+            $_etype3 = 0;
+            $xfer += $input->readListBegin($_etype3, $_size0);
+            for ($_i4 = 0; $_i4 < $_size0; ++$_i4)
+            {
+              $elem5 = null;
+              $xfer += $input->readString($elem5);
+              $this->rootCauseErrorIdList []= $elem5;
+            }
+            $xfer += $input->readListEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        default:
+          $xfer += $input->skip($ftype);
+          break;
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+  public function write($output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin('ErrorModel');
+    if ($this->errorId !== null) {
+      $xfer += $output->writeFieldBegin('errorId', TType::STRING, 1);
+      $xfer += $output->writeString($this->errorId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->creationTime !== null) {
+      $xfer += $output->writeFieldBegin('creationTime', TType::I64, 2);
+      $xfer += $output->writeI64($this->creationTime);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->actualErrorMessage !== null) {
+      $xfer += $output->writeFieldBegin('actualErrorMessage', TType::STRING, 3);
+      $xfer += $output->writeString($this->actualErrorMessage);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->userFriendlyMessage !== null) {
+      $xfer += $output->writeFieldBegin('userFriendlyMessage', TType::STRING, 4);
+      $xfer += $output->writeString($this->userFriendlyMessage);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->transientOrPersistent !== null) {
+      $xfer += $output->writeFieldBegin('transientOrPersistent', TType::BOOL, 5);
+      $xfer += $output->writeBool($this->transientOrPersistent);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->rootCauseErrorIdList !== null) {
+      if (!is_array($this->rootCauseErrorIdList)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('rootCauseErrorIdList', TType::LST, 6);
+      {
+        $output->writeListBegin(TType::STRING, count($this->rootCauseErrorIdList));
+        {
+          foreach ($this->rootCauseErrorIdList as $iter6)
+          {
+            $xfer += $output->writeString($iter6);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+/**
+ * This data structure can be used to store the validation results
+ * captured during validation step and during the launchExperiment
+ * operation it can be easilly checked to see the errors occured
+ * during the experiment launch operation
+ * 
+ */
+class ValidatorResult {
+  static $_TSPEC;
+
+  /**
+   * @var bool
+   */
+  public $result = null;
+  /**
+   * @var string
+   */
+  public $errorDetails = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'result',
+          'type' => TType::BOOL,
+          ),
+        2 => array(
+          'var' => 'errorDetails',
+          'type' => TType::STRING,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['result'])) {
+        $this->result = $vals['result'];
+      }
+      if (isset($vals['errorDetails'])) {
+        $this->errorDetails = $vals['errorDetails'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'ValidatorResult';
+  }
+
+  public function read($input)
+  {
+    $xfer = 0;
+    $fname = null;
+    $ftype = 0;
+    $fid = 0;
+    $xfer += $input->readStructBegin($fname);
+    while (true)
+    {
+      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+      if ($ftype == TType::STOP) {
+        break;
+      }
+      switch ($fid)
+      {
+        case 1:
+          if ($ftype == TType::BOOL) {
+            $xfer += $input->readBool($this->result);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->errorDetails);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        default:
+          $xfer += $input->skip($ftype);
+          break;
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+  public function write($output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin('ValidatorResult');
+    if ($this->result !== null) {
+      $xfer += $output->writeFieldBegin('result', TType::BOOL, 1);
+      $xfer += $output->writeBool($this->result);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->errorDetails !== null) {
+      $xfer += $output->writeFieldBegin('errorDetails', TType::STRING, 2);
+      $xfer += $output->writeString($this->errorDetails);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class ValidationResults {
+  static $_TSPEC;
+
+  /**
+   * @var bool
+   */
+  public $validationState = null;
+  /**
+   * @var \Airavata\Model\Commons\ValidatorResult[]
+   */
+  public $validationResultList = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'validationState',
+          'type' => TType::BOOL,
+          ),
+        2 => array(
+          'var' => 'validationResultList',
+          'type' => TType::LST,
+          'etype' => TType::STRUCT,
+          'elem' => array(
+            'type' => TType::STRUCT,
+            'class' => '\Airavata\Model\Commons\ValidatorResult',
+            ),
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['validationState'])) {
+        $this->validationState = $vals['validationState'];
+      }
+      if (isset($vals['validationResultList'])) {
+        $this->validationResultList = $vals['validationResultList'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'ValidationResults';
+  }
+
+  public function read($input)
+  {
+    $xfer = 0;
+    $fname = null;
+    $ftype = 0;
+    $fid = 0;
+    $xfer += $input->readStructBegin($fname);
+    while (true)
+    {
+      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+      if ($ftype == TType::STOP) {
+        break;
+      }
+      switch ($fid)
+      {
+        case 1:
+          if ($ftype == TType::BOOL) {
+            $xfer += $input->readBool($this->validationState);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::LST) {
+            $this->validationResultList = array();
+            $_size7 = 0;
+            $_etype10 = 0;
+            $xfer += $input->readListBegin($_etype10, $_size7);
+            for ($_i11 = 0; $_i11 < $_size7; ++$_i11)
+            {
+              $elem12 = null;
+              $elem12 = new \Airavata\Model\Commons\ValidatorResult();
+              $xfer += $elem12->read($input);
+              $this->validationResultList []= $elem12;
+            }
+            $xfer += $input->readListEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        default:
+          $xfer += $input->skip($ftype);
+          break;
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+  public function write($output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin('ValidationResults');
+    if ($this->validationState !== null) {
+      $xfer += $output->writeFieldBegin('validationState', TType::BOOL, 1);
+      $xfer += $output->writeBool($this->validationState);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->validationResultList !== null) {
+      if (!is_array($this->validationResultList)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('validationResultList', TType::LST, 2);
+      {
+        $output->writeListBegin(TType::STRUCT, count($this->validationResultList));
+        {
+          foreach ($this->validationResultList as $iter13)
+          {
+            $xfer += $iter13->write($output);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+final class Constant extends \Thrift\Type\TConstant {
+  static protected $DEFAULT_ID;
+
+  static protected function init_DEFAULT_ID() {
+    return "DO_NOT_SET_AT_CLIENTS";
+  }
+}
+
+