airavata-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From shame...@apache.org
Subject [13/54] [abbrv] airavata git commit: moving data movement structs to common thrift file
Date Fri, 04 Dec 2015 21:01:38 GMT
http://git-wip-us.apache.org/repos/asf/airavata/blob/ca89eaee/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Data/Movement/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Data/Movement/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Data/Movement/Types.php
new file mode 100644
index 0000000..2c20bf4
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Data/Movement/Types.php
@@ -0,0 +1,742 @@
+<?php
+namespace Airavata\Model\Data\Movement;
+
+/**
+ * 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;
+
+
+final class DMType {
+  const COMPUTE_RESOURCE = 0;
+  const STORAGE_RESOURCE = 1;
+  static public $__names = array(
+    0 => 'COMPUTE_RESOURCE',
+    1 => 'STORAGE_RESOURCE',
+  );
+}
+
+/**
+ * Enumeration of security authentication and authorization mechanisms supported by Airavata. This enumeration just
+ *  describes the supported mechanism. The corresponding security credentials are registered with Airavata Credential
+ *  store.
+ * 
+ * USERNAME_PASSWORD:
+ *  A User Name.
+ * 
+ * SSH_KEYS:
+ *  SSH Keys
+ * 
+ * FIXME: Change GSI to a more precise generic security protocol - X509
+ * 
+ */
+final class SecurityProtocol {
+  const USERNAME_PASSWORD = 0;
+  const SSH_KEYS = 1;
+  const GSI = 2;
+  const KERBEROS = 3;
+  const OAUTH = 4;
+  const LOCAL = 5;
+  static public $__names = array(
+    0 => 'USERNAME_PASSWORD',
+    1 => 'SSH_KEYS',
+    2 => 'GSI',
+    3 => 'KERBEROS',
+    4 => 'OAUTH',
+    5 => 'LOCAL',
+  );
+}
+
+/**
+ * Enumeration of data movement supported by Airavata
+ * 
+ * SCP:
+ *  Job manager supporting the Portal Batch System (PBS) protocol. Some examples include TORQUE, PBSPro, Grid Engine.
+ * 
+ * SFTP:
+ *  The Simple Linux Utility for Resource Management is a open source workload manager.
+ * 
+ * GridFTP:
+ *  Globus File Transfer Protocol
+ * 
+ * UNICORE_STORAGE_SERVICE:
+ *  Storage Service Provided by Unicore
+ * 
+ */
+final class DataMovementProtocol {
+  const LOCAL = 0;
+  const SCP = 1;
+  const SFTP = 2;
+  const GridFTP = 3;
+  const UNICORE_STORAGE_SERVICE = 4;
+  static public $__names = array(
+    0 => 'LOCAL',
+    1 => 'SCP',
+    2 => 'SFTP',
+    3 => 'GridFTP',
+    4 => 'UNICORE_STORAGE_SERVICE',
+  );
+}
+
+/**
+ * Data Movement through Secured Copy
+ * 
+ * alternativeSCPHostName:
+ *  If the login to scp is different than the hostname itself, specify it here
+ * 
+ * sshPort:
+ *  If a non-default port needs to used, specify it.
+ */
+class SCPDataMovement {
+  static $_TSPEC;
+
+  /**
+   * @var string
+   */
+  public $dataMovementInterfaceId = "DO_NOT_SET_AT_CLIENTS";
+  /**
+   * @var int
+   */
+  public $securityProtocol = null;
+  /**
+   * @var string
+   */
+  public $alternativeSCPHostName = null;
+  /**
+   * @var int
+   */
+  public $sshPort = 22;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'dataMovementInterfaceId',
+          'type' => TType::STRING,
+          ),
+        2 => array(
+          'var' => 'securityProtocol',
+          'type' => TType::I32,
+          ),
+        3 => array(
+          'var' => 'alternativeSCPHostName',
+          'type' => TType::STRING,
+          ),
+        4 => array(
+          'var' => 'sshPort',
+          'type' => TType::I32,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['dataMovementInterfaceId'])) {
+        $this->dataMovementInterfaceId = $vals['dataMovementInterfaceId'];
+      }
+      if (isset($vals['securityProtocol'])) {
+        $this->securityProtocol = $vals['securityProtocol'];
+      }
+      if (isset($vals['alternativeSCPHostName'])) {
+        $this->alternativeSCPHostName = $vals['alternativeSCPHostName'];
+      }
+      if (isset($vals['sshPort'])) {
+        $this->sshPort = $vals['sshPort'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'SCPDataMovement';
+  }
+
+  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->dataMovementInterfaceId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->securityProtocol);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->alternativeSCPHostName);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 4:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->sshPort);
+          } 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('SCPDataMovement');
+    if ($this->dataMovementInterfaceId !== null) {
+      $xfer += $output->writeFieldBegin('dataMovementInterfaceId', TType::STRING, 1);
+      $xfer += $output->writeString($this->dataMovementInterfaceId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->securityProtocol !== null) {
+      $xfer += $output->writeFieldBegin('securityProtocol', TType::I32, 2);
+      $xfer += $output->writeI32($this->securityProtocol);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->alternativeSCPHostName !== null) {
+      $xfer += $output->writeFieldBegin('alternativeSCPHostName', TType::STRING, 3);
+      $xfer += $output->writeString($this->alternativeSCPHostName);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->sshPort !== null) {
+      $xfer += $output->writeFieldBegin('sshPort', TType::I32, 4);
+      $xfer += $output->writeI32($this->sshPort);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+/**
+ * Data Movement through GridFTP
+ * 
+ * alternativeSCPHostName:
+ *  If the login to scp is different than the hostname itself, specify it here
+ * 
+ * sshPort:
+ *  If a non-default port needs to used, specify it.
+ */
+class GridFTPDataMovement {
+  static $_TSPEC;
+
+  /**
+   * @var string
+   */
+  public $dataMovementInterfaceId = "DO_NOT_SET_AT_CLIENTS";
+  /**
+   * @var int
+   */
+  public $securityProtocol = null;
+  /**
+   * @var string[]
+   */
+  public $gridFTPEndPoints = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'dataMovementInterfaceId',
+          'type' => TType::STRING,
+          ),
+        2 => array(
+          'var' => 'securityProtocol',
+          'type' => TType::I32,
+          ),
+        3 => array(
+          'var' => 'gridFTPEndPoints',
+          'type' => TType::LST,
+          'etype' => TType::STRING,
+          'elem' => array(
+            'type' => TType::STRING,
+            ),
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['dataMovementInterfaceId'])) {
+        $this->dataMovementInterfaceId = $vals['dataMovementInterfaceId'];
+      }
+      if (isset($vals['securityProtocol'])) {
+        $this->securityProtocol = $vals['securityProtocol'];
+      }
+      if (isset($vals['gridFTPEndPoints'])) {
+        $this->gridFTPEndPoints = $vals['gridFTPEndPoints'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'GridFTPDataMovement';
+  }
+
+  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->dataMovementInterfaceId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->securityProtocol);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::LST) {
+            $this->gridFTPEndPoints = array();
+            $_size0 = 0;
+            $_etype3 = 0;
+            $xfer += $input->readListBegin($_etype3, $_size0);
+            for ($_i4 = 0; $_i4 < $_size0; ++$_i4)
+            {
+              $elem5 = null;
+              $xfer += $input->readString($elem5);
+              $this->gridFTPEndPoints []= $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('GridFTPDataMovement');
+    if ($this->dataMovementInterfaceId !== null) {
+      $xfer += $output->writeFieldBegin('dataMovementInterfaceId', TType::STRING, 1);
+      $xfer += $output->writeString($this->dataMovementInterfaceId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->securityProtocol !== null) {
+      $xfer += $output->writeFieldBegin('securityProtocol', TType::I32, 2);
+      $xfer += $output->writeI32($this->securityProtocol);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->gridFTPEndPoints !== null) {
+      if (!is_array($this->gridFTPEndPoints)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('gridFTPEndPoints', TType::LST, 3);
+      {
+        $output->writeListBegin(TType::STRING, count($this->gridFTPEndPoints));
+        {
+          foreach ($this->gridFTPEndPoints as $iter6)
+          {
+            $xfer += $output->writeString($iter6);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+/**
+ * Data Movement through UnicoreStorage
+ * 
+ * unicoreEndPointURL:
+ *  unicoreGateway End Point. The provider will query this service to fetch required service end points.
+ */
+class UnicoreDataMovement {
+  static $_TSPEC;
+
+  /**
+   * @var string
+   */
+  public $dataMovementInterfaceId = "DO_NOT_SET_AT_CLIENTS";
+  /**
+   * @var int
+   */
+  public $securityProtocol = null;
+  /**
+   * @var string
+   */
+  public $unicoreEndPointURL = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'dataMovementInterfaceId',
+          'type' => TType::STRING,
+          ),
+        2 => array(
+          'var' => 'securityProtocol',
+          'type' => TType::I32,
+          ),
+        3 => array(
+          'var' => 'unicoreEndPointURL',
+          'type' => TType::STRING,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['dataMovementInterfaceId'])) {
+        $this->dataMovementInterfaceId = $vals['dataMovementInterfaceId'];
+      }
+      if (isset($vals['securityProtocol'])) {
+        $this->securityProtocol = $vals['securityProtocol'];
+      }
+      if (isset($vals['unicoreEndPointURL'])) {
+        $this->unicoreEndPointURL = $vals['unicoreEndPointURL'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'UnicoreDataMovement';
+  }
+
+  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->dataMovementInterfaceId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->securityProtocol);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->unicoreEndPointURL);
+          } 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('UnicoreDataMovement');
+    if ($this->dataMovementInterfaceId !== null) {
+      $xfer += $output->writeFieldBegin('dataMovementInterfaceId', TType::STRING, 1);
+      $xfer += $output->writeString($this->dataMovementInterfaceId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->securityProtocol !== null) {
+      $xfer += $output->writeFieldBegin('securityProtocol', TType::I32, 2);
+      $xfer += $output->writeI32($this->securityProtocol);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->unicoreEndPointURL !== null) {
+      $xfer += $output->writeFieldBegin('unicoreEndPointURL', TType::STRING, 3);
+      $xfer += $output->writeString($this->unicoreEndPointURL);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+/**
+ * LOCAL
+ * 
+ * alternativeSCPHostName:
+ *  If the login to scp is different than the hostname itself, specify it here
+ * 
+ * sshPort:
+ *  If a non-defualt port needs to used, specify it.
+ */
+class LOCALDataMovement {
+  static $_TSPEC;
+
+  /**
+   * @var string
+   */
+  public $dataMovementInterfaceId = "DO_NOT_SET_AT_CLIENTS";
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'dataMovementInterfaceId',
+          'type' => TType::STRING,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['dataMovementInterfaceId'])) {
+        $this->dataMovementInterfaceId = $vals['dataMovementInterfaceId'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'LOCALDataMovement';
+  }
+
+  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->dataMovementInterfaceId);
+          } 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('LOCALDataMovement');
+    if ($this->dataMovementInterfaceId !== null) {
+      $xfer += $output->writeFieldBegin('dataMovementInterfaceId', TType::STRING, 1);
+      $xfer += $output->writeString($this->dataMovementInterfaceId);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+/**
+ * Data Movement Interfaces
+ * 
+ * dataMovementInterfaceId: The Data Movement Interface has to be previously registered and referenced here.
+ * 
+ * priorityOrder:
+ *  For resources with multiple interfaces, the priority order should be selected.
+ *   Lower the numerical number, higher the priority
+ * 
+ */
+class DataMovementInterface {
+  static $_TSPEC;
+
+  /**
+   * @var string
+   */
+  public $dataMovementInterfaceId = null;
+  /**
+   * @var int
+   */
+  public $dataMovementProtocol = null;
+  /**
+   * @var int
+   */
+  public $priorityOrder = 0;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'dataMovementInterfaceId',
+          'type' => TType::STRING,
+          ),
+        2 => array(
+          'var' => 'dataMovementProtocol',
+          'type' => TType::I32,
+          ),
+        3 => array(
+          'var' => 'priorityOrder',
+          'type' => TType::I32,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['dataMovementInterfaceId'])) {
+        $this->dataMovementInterfaceId = $vals['dataMovementInterfaceId'];
+      }
+      if (isset($vals['dataMovementProtocol'])) {
+        $this->dataMovementProtocol = $vals['dataMovementProtocol'];
+      }
+      if (isset($vals['priorityOrder'])) {
+        $this->priorityOrder = $vals['priorityOrder'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'DataMovementInterface';
+  }
+
+  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->dataMovementInterfaceId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->dataMovementProtocol);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->priorityOrder);
+          } 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('DataMovementInterface');
+    if ($this->dataMovementInterfaceId !== null) {
+      $xfer += $output->writeFieldBegin('dataMovementInterfaceId', TType::STRING, 1);
+      $xfer += $output->writeString($this->dataMovementInterfaceId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->dataMovementProtocol !== null) {
+      $xfer += $output->writeFieldBegin('dataMovementProtocol', TType::I32, 2);
+      $xfer += $output->writeI32($this->dataMovementProtocol);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->priorityOrder !== null) {
+      $xfer += $output->writeFieldBegin('priorityOrder', TType::I32, 3);
+      $xfer += $output->writeI32($this->priorityOrder);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/ca89eaee/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Experiment/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Experiment/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Experiment/Types.php
index d01c0d0..1f0e20e 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Experiment/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Experiment/Types.php
@@ -81,6 +81,10 @@ class UserConfigurationDataModel {
    * @var bool
    */
   public $generateCert = false;
+  /**
+   * @var string
+   */
+  public $storageId = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
@@ -114,6 +118,10 @@ class UserConfigurationDataModel {
           'var' => 'generateCert',
           'type' => TType::BOOL,
           ),
+        8 => array(
+          'var' => 'storageId',
+          'type' => TType::STRING,
+          ),
         );
     }
     if (is_array($vals)) {
@@ -138,6 +146,9 @@ class UserConfigurationDataModel {
       if (isset($vals['generateCert'])) {
         $this->generateCert = $vals['generateCert'];
       }
+      if (isset($vals['storageId'])) {
+        $this->storageId = $vals['storageId'];
+      }
     }
   }
 
@@ -210,6 +221,13 @@ class UserConfigurationDataModel {
             $xfer += $input->skip($ftype);
           }
           break;
+        case 8:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->storageId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
         default:
           $xfer += $input->skip($ftype);
           break;
@@ -261,6 +279,11 @@ class UserConfigurationDataModel {
       $xfer += $output->writeBool($this->generateCert);
       $xfer += $output->writeFieldEnd();
     }
+    if ($this->storageId !== null) {
+      $xfer += $output->writeFieldBegin('storageId', TType::STRING, 8);
+      $xfer += $output->writeString($this->storageId);
+      $xfer += $output->writeFieldEnd();
+    }
     $xfer += $output->writeFieldStop();
     $xfer += $output->writeStructEnd();
     return $xfer;

http://git-wip-us.apache.org/repos/asf/airavata/blob/ca89eaee/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Process/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Process/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Process/Types.php
index 2fd241f..bf78b8e 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Process/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Process/Types.php
@@ -101,6 +101,10 @@ class ProcessModel {
    * @var string[]
    */
   public $emailAddresses = null;
+  /**
+   * @var string
+   */
+  public $storageResourceId = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
@@ -199,6 +203,10 @@ class ProcessModel {
             'type' => TType::STRING,
             ),
           ),
+        19 => array(
+          'var' => 'storageResourceId',
+          'type' => TType::STRING,
+          ),
         );
     }
     if (is_array($vals)) {
@@ -256,6 +264,9 @@ class ProcessModel {
       if (isset($vals['emailAddresses'])) {
         $this->emailAddresses = $vals['emailAddresses'];
       }
+      if (isset($vals['storageResourceId'])) {
+        $this->storageResourceId = $vals['storageResourceId'];
+      }
     }
   }
 
@@ -450,6 +461,13 @@ class ProcessModel {
             $xfer += $input->skip($ftype);
           }
           break;
+        case 19:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->storageResourceId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
         default:
           $xfer += $input->skip($ftype);
           break;
@@ -610,6 +628,11 @@ class ProcessModel {
       }
       $xfer += $output->writeFieldEnd();
     }
+    if ($this->storageResourceId !== null) {
+      $xfer += $output->writeFieldBegin('storageResourceId', TType::STRING, 19);
+      $xfer += $output->writeString($this->storageResourceId);
+      $xfer += $output->writeFieldEnd();
+    }
     $xfer += $output->writeFieldStop();
     $xfer += $output->writeStructEnd();
     return $xfer;

http://git-wip-us.apache.org/repos/asf/airavata/blob/ca89eaee/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata-remote
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata-remote b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata-remote
index 77c1e7e..0ff28ad 100755
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata-remote
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata-remote
@@ -137,9 +137,9 @@ if len(sys.argv) <= 1 or sys.argv[1] == '--help':
   print('  bool updateGatewayResourceProfile(AuthzToken authzToken, string gatewayID, GatewayResourceProfile gatewayResourceProfile)')
   print('  bool deleteGatewayResourceProfile(AuthzToken authzToken, string gatewayID)')
   print('  bool addGatewayComputeResourcePreference(AuthzToken authzToken, string gatewayID, string computeResourceId, ComputeResourcePreference computeResourcePreference)')
-  print('  bool addGatewayStoragePreference(AuthzToken authzToken, string gatewayID, string dataMoveId, StoragePreference storagePreference)')
+  print('  bool addGatewayStoragePreference(AuthzToken authzToken, string gatewayID, string storageResourceId, StoragePreference storagePreference)')
   print('  ComputeResourcePreference getGatewayComputeResourcePreference(AuthzToken authzToken, string gatewayID, string computeResourceId)')
-  print('  StoragePreference getGatewayStoragePreference(AuthzToken authzToken, string gatewayID, string dataMoveId)')
+  print('  StoragePreference getGatewayStoragePreference(AuthzToken authzToken, string gatewayID, string storageResourceId)')
   print('   getAllGatewayComputeResourcePreferences(AuthzToken authzToken, string gatewayID)')
   print('   getAllGatewayStoragePreferences(AuthzToken authzToken, string gatewayID)')
   print('   getAllGatewayResourceProfiles(AuthzToken authzToken)')

http://git-wip-us.apache.org/repos/asf/airavata/blob/ca89eaee/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py
index 45aaccf..2d473bd 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py
@@ -2095,12 +2095,12 @@ class Iface:
     """
     pass
 
-  def addGatewayStoragePreference(self, authzToken, gatewayID, dataMoveId, storagePreference):
+  def addGatewayStoragePreference(self, authzToken, gatewayID, storageResourceId, storagePreference):
     """
     Parameters:
      - authzToken
      - gatewayID
-     - dataMoveId
+     - storageResourceId
      - storagePreference
     """
     pass
@@ -2126,12 +2126,12 @@ class Iface:
     """
     pass
 
-  def getGatewayStoragePreference(self, authzToken, gatewayID, dataMoveId):
+  def getGatewayStoragePreference(self, authzToken, gatewayID, storageResourceId):
     """
     Parameters:
      - authzToken
      - gatewayID
-     - dataMoveId
+     - storageResourceId
     """
     pass
 
@@ -8205,23 +8205,23 @@ class Client(Iface):
       raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "addGatewayComputeResourcePreference failed: unknown result");
 
-  def addGatewayStoragePreference(self, authzToken, gatewayID, dataMoveId, storagePreference):
+  def addGatewayStoragePreference(self, authzToken, gatewayID, storageResourceId, storagePreference):
     """
     Parameters:
      - authzToken
      - gatewayID
-     - dataMoveId
+     - storageResourceId
      - storagePreference
     """
-    self.send_addGatewayStoragePreference(authzToken, gatewayID, dataMoveId, storagePreference)
+    self.send_addGatewayStoragePreference(authzToken, gatewayID, storageResourceId, storagePreference)
     return self.recv_addGatewayStoragePreference()
 
-  def send_addGatewayStoragePreference(self, authzToken, gatewayID, dataMoveId, storagePreference):
+  def send_addGatewayStoragePreference(self, authzToken, gatewayID, storageResourceId, storagePreference):
     self._oprot.writeMessageBegin('addGatewayStoragePreference', TMessageType.CALL, self._seqid)
     args = addGatewayStoragePreference_args()
     args.authzToken = authzToken
     args.gatewayID = gatewayID
-    args.dataMoveId = dataMoveId
+    args.storageResourceId = storageResourceId
     args.storagePreference = storagePreference
     args.write(self._oprot)
     self._oprot.writeMessageEnd()
@@ -8305,22 +8305,22 @@ class Client(Iface):
       raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "getGatewayComputeResourcePreference failed: unknown result");
 
-  def getGatewayStoragePreference(self, authzToken, gatewayID, dataMoveId):
+  def getGatewayStoragePreference(self, authzToken, gatewayID, storageResourceId):
     """
     Parameters:
      - authzToken
      - gatewayID
-     - dataMoveId
+     - storageResourceId
     """
-    self.send_getGatewayStoragePreference(authzToken, gatewayID, dataMoveId)
+    self.send_getGatewayStoragePreference(authzToken, gatewayID, storageResourceId)
     return self.recv_getGatewayStoragePreference()
 
-  def send_getGatewayStoragePreference(self, authzToken, gatewayID, dataMoveId):
+  def send_getGatewayStoragePreference(self, authzToken, gatewayID, storageResourceId):
     self._oprot.writeMessageBegin('getGatewayStoragePreference', TMessageType.CALL, self._seqid)
     args = getGatewayStoragePreference_args()
     args.authzToken = authzToken
     args.gatewayID = gatewayID
-    args.dataMoveId = dataMoveId
+    args.storageResourceId = storageResourceId
     args.write(self._oprot)
     self._oprot.writeMessageEnd()
     self._oprot.trans.flush()
@@ -11402,7 +11402,7 @@ class Processor(Iface, TProcessor):
     iprot.readMessageEnd()
     result = addGatewayStoragePreference_result()
     try:
-      result.success = self._handler.addGatewayStoragePreference(args.authzToken, args.gatewayID, args.dataMoveId, args.storagePreference)
+      result.success = self._handler.addGatewayStoragePreference(args.authzToken, args.gatewayID, args.storageResourceId, args.storagePreference)
     except apache.airavata.api.error.ttypes.InvalidRequestException, ire:
       result.ire = ire
     except apache.airavata.api.error.ttypes.AiravataClientException, ace:
@@ -11442,7 +11442,7 @@ class Processor(Iface, TProcessor):
     iprot.readMessageEnd()
     result = getGatewayStoragePreference_result()
     try:
-      result.success = self._handler.getGatewayStoragePreference(args.authzToken, args.gatewayID, args.dataMoveId)
+      result.success = self._handler.getGatewayStoragePreference(args.authzToken, args.gatewayID, args.storageResourceId)
     except apache.airavata.api.error.ttypes.InvalidRequestException, ire:
       result.ire = ire
     except apache.airavata.api.error.ttypes.AiravataClientException, ace:
@@ -30410,7 +30410,7 @@ class addLocalDataMovementDetails_args:
     (2, TType.STRING, 'resourceId', None, None, ), # 2
     (3, TType.I32, 'dataMoveType', None, None, ), # 3
     (4, TType.I32, 'priorityOrder', None, None, ), # 4
-    (5, TType.STRUCT, 'localDataMovement', (apache.airavata.model.appcatalog.computeresource.ttypes.LOCALDataMovement, apache.airavata.model.appcatalog.computeresource.ttypes.LOCALDataMovement.thrift_spec), None, ), # 5
+    (5, TType.STRUCT, 'localDataMovement', (apache.airavata.model.data.movement.ttypes.LOCALDataMovement, apache.airavata.model.data.movement.ttypes.LOCALDataMovement.thrift_spec), None, ), # 5
   )
 
   def __init__(self, authzToken=None, resourceId=None, dataMoveType=None, priorityOrder=None, localDataMovement=None,):
@@ -30452,7 +30452,7 @@ class addLocalDataMovementDetails_args:
           iprot.skip(ftype)
       elif fid == 5:
         if ftype == TType.STRUCT:
-          self.localDataMovement = apache.airavata.model.appcatalog.computeresource.ttypes.LOCALDataMovement()
+          self.localDataMovement = apache.airavata.model.data.movement.ttypes.LOCALDataMovement()
           self.localDataMovement.read(iprot)
         else:
           iprot.skip(ftype)
@@ -30655,7 +30655,7 @@ class updateLocalDataMovementDetails_args:
     None, # 0
     (1, TType.STRUCT, 'authzToken', (apache.airavata.model.security.ttypes.AuthzToken, apache.airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ), # 1
     (2, TType.STRING, 'dataMovementInterfaceId', None, None, ), # 2
-    (3, TType.STRUCT, 'localDataMovement', (apache.airavata.model.appcatalog.computeresource.ttypes.LOCALDataMovement, apache.airavata.model.appcatalog.computeresource.ttypes.LOCALDataMovement.thrift_spec), None, ), # 3
+    (3, TType.STRUCT, 'localDataMovement', (apache.airavata.model.data.movement.ttypes.LOCALDataMovement, apache.airavata.model.data.movement.ttypes.LOCALDataMovement.thrift_spec), None, ), # 3
   )
 
   def __init__(self, authzToken=None, dataMovementInterfaceId=None, localDataMovement=None,):
@@ -30685,7 +30685,7 @@ class updateLocalDataMovementDetails_args:
           iprot.skip(ftype)
       elif fid == 3:
         if ftype == TType.STRUCT:
-          self.localDataMovement = apache.airavata.model.appcatalog.computeresource.ttypes.LOCALDataMovement()
+          self.localDataMovement = apache.airavata.model.data.movement.ttypes.LOCALDataMovement()
           self.localDataMovement.read(iprot)
         else:
           iprot.skip(ftype)
@@ -30956,7 +30956,7 @@ class getLocalDataMovement_result:
   """
 
   thrift_spec = (
-    (0, TType.STRUCT, 'success', (apache.airavata.model.appcatalog.computeresource.ttypes.LOCALDataMovement, apache.airavata.model.appcatalog.computeresource.ttypes.LOCALDataMovement.thrift_spec), None, ), # 0
+    (0, TType.STRUCT, 'success', (apache.airavata.model.data.movement.ttypes.LOCALDataMovement, apache.airavata.model.data.movement.ttypes.LOCALDataMovement.thrift_spec), None, ), # 0
     (1, TType.STRUCT, 'ire', (apache.airavata.api.error.ttypes.InvalidRequestException, apache.airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ), # 1
     (2, TType.STRUCT, 'ace', (apache.airavata.api.error.ttypes.AiravataClientException, apache.airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ), # 2
     (3, TType.STRUCT, 'ase', (apache.airavata.api.error.ttypes.AiravataSystemException, apache.airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ), # 3
@@ -30981,7 +30981,7 @@ class getLocalDataMovement_result:
         break
       if fid == 0:
         if ftype == TType.STRUCT:
-          self.success = apache.airavata.model.appcatalog.computeresource.ttypes.LOCALDataMovement()
+          self.success = apache.airavata.model.data.movement.ttypes.LOCALDataMovement()
           self.success.read(iprot)
         else:
           iprot.skip(ftype)
@@ -31082,7 +31082,7 @@ class addSCPDataMovementDetails_args:
     (2, TType.STRING, 'resourceId', None, None, ), # 2
     (3, TType.I32, 'dataMoveType', None, None, ), # 3
     (4, TType.I32, 'priorityOrder', None, None, ), # 4
-    (5, TType.STRUCT, 'scpDataMovement', (apache.airavata.model.appcatalog.computeresource.ttypes.SCPDataMovement, apache.airavata.model.appcatalog.computeresource.ttypes.SCPDataMovement.thrift_spec), None, ), # 5
+    (5, TType.STRUCT, 'scpDataMovement', (apache.airavata.model.data.movement.ttypes.SCPDataMovement, apache.airavata.model.data.movement.ttypes.SCPDataMovement.thrift_spec), None, ), # 5
   )
 
   def __init__(self, authzToken=None, resourceId=None, dataMoveType=None, priorityOrder=None, scpDataMovement=None,):
@@ -31124,7 +31124,7 @@ class addSCPDataMovementDetails_args:
           iprot.skip(ftype)
       elif fid == 5:
         if ftype == TType.STRUCT:
-          self.scpDataMovement = apache.airavata.model.appcatalog.computeresource.ttypes.SCPDataMovement()
+          self.scpDataMovement = apache.airavata.model.data.movement.ttypes.SCPDataMovement()
           self.scpDataMovement.read(iprot)
         else:
           iprot.skip(ftype)
@@ -31327,7 +31327,7 @@ class updateSCPDataMovementDetails_args:
     None, # 0
     (1, TType.STRUCT, 'authzToken', (apache.airavata.model.security.ttypes.AuthzToken, apache.airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ), # 1
     (2, TType.STRING, 'dataMovementInterfaceId', None, None, ), # 2
-    (3, TType.STRUCT, 'scpDataMovement', (apache.airavata.model.appcatalog.computeresource.ttypes.SCPDataMovement, apache.airavata.model.appcatalog.computeresource.ttypes.SCPDataMovement.thrift_spec), None, ), # 3
+    (3, TType.STRUCT, 'scpDataMovement', (apache.airavata.model.data.movement.ttypes.SCPDataMovement, apache.airavata.model.data.movement.ttypes.SCPDataMovement.thrift_spec), None, ), # 3
   )
 
   def __init__(self, authzToken=None, dataMovementInterfaceId=None, scpDataMovement=None,):
@@ -31357,7 +31357,7 @@ class updateSCPDataMovementDetails_args:
           iprot.skip(ftype)
       elif fid == 3:
         if ftype == TType.STRUCT:
-          self.scpDataMovement = apache.airavata.model.appcatalog.computeresource.ttypes.SCPDataMovement()
+          self.scpDataMovement = apache.airavata.model.data.movement.ttypes.SCPDataMovement()
           self.scpDataMovement.read(iprot)
         else:
           iprot.skip(ftype)
@@ -31628,7 +31628,7 @@ class getSCPDataMovement_result:
   """
 
   thrift_spec = (
-    (0, TType.STRUCT, 'success', (apache.airavata.model.appcatalog.computeresource.ttypes.SCPDataMovement, apache.airavata.model.appcatalog.computeresource.ttypes.SCPDataMovement.thrift_spec), None, ), # 0
+    (0, TType.STRUCT, 'success', (apache.airavata.model.data.movement.ttypes.SCPDataMovement, apache.airavata.model.data.movement.ttypes.SCPDataMovement.thrift_spec), None, ), # 0
     (1, TType.STRUCT, 'ire', (apache.airavata.api.error.ttypes.InvalidRequestException, apache.airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ), # 1
     (2, TType.STRUCT, 'ace', (apache.airavata.api.error.ttypes.AiravataClientException, apache.airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ), # 2
     (3, TType.STRUCT, 'ase', (apache.airavata.api.error.ttypes.AiravataSystemException, apache.airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ), # 3
@@ -31653,7 +31653,7 @@ class getSCPDataMovement_result:
         break
       if fid == 0:
         if ftype == TType.STRUCT:
-          self.success = apache.airavata.model.appcatalog.computeresource.ttypes.SCPDataMovement()
+          self.success = apache.airavata.model.data.movement.ttypes.SCPDataMovement()
           self.success.read(iprot)
         else:
           iprot.skip(ftype)
@@ -31754,7 +31754,7 @@ class addUnicoreDataMovementDetails_args:
     (2, TType.STRING, 'resourceId', None, None, ), # 2
     (3, TType.I32, 'dataMoveType', None, None, ), # 3
     (4, TType.I32, 'priorityOrder', None, None, ), # 4
-    (5, TType.STRUCT, 'unicoreDataMovement', (apache.airavata.model.appcatalog.computeresource.ttypes.UnicoreDataMovement, apache.airavata.model.appcatalog.computeresource.ttypes.UnicoreDataMovement.thrift_spec), None, ), # 5
+    (5, TType.STRUCT, 'unicoreDataMovement', (apache.airavata.model.data.movement.ttypes.UnicoreDataMovement, apache.airavata.model.data.movement.ttypes.UnicoreDataMovement.thrift_spec), None, ), # 5
   )
 
   def __init__(self, authzToken=None, resourceId=None, dataMoveType=None, priorityOrder=None, unicoreDataMovement=None,):
@@ -31796,7 +31796,7 @@ class addUnicoreDataMovementDetails_args:
           iprot.skip(ftype)
       elif fid == 5:
         if ftype == TType.STRUCT:
-          self.unicoreDataMovement = apache.airavata.model.appcatalog.computeresource.ttypes.UnicoreDataMovement()
+          self.unicoreDataMovement = apache.airavata.model.data.movement.ttypes.UnicoreDataMovement()
           self.unicoreDataMovement.read(iprot)
         else:
           iprot.skip(ftype)
@@ -31999,7 +31999,7 @@ class updateUnicoreDataMovementDetails_args:
     None, # 0
     (1, TType.STRUCT, 'authzToken', (apache.airavata.model.security.ttypes.AuthzToken, apache.airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ), # 1
     (2, TType.STRING, 'dataMovementInterfaceId', None, None, ), # 2
-    (3, TType.STRUCT, 'unicoreDataMovement', (apache.airavata.model.appcatalog.computeresource.ttypes.UnicoreDataMovement, apache.airavata.model.appcatalog.computeresource.ttypes.UnicoreDataMovement.thrift_spec), None, ), # 3
+    (3, TType.STRUCT, 'unicoreDataMovement', (apache.airavata.model.data.movement.ttypes.UnicoreDataMovement, apache.airavata.model.data.movement.ttypes.UnicoreDataMovement.thrift_spec), None, ), # 3
   )
 
   def __init__(self, authzToken=None, dataMovementInterfaceId=None, unicoreDataMovement=None,):
@@ -32029,7 +32029,7 @@ class updateUnicoreDataMovementDetails_args:
           iprot.skip(ftype)
       elif fid == 3:
         if ftype == TType.STRUCT:
-          self.unicoreDataMovement = apache.airavata.model.appcatalog.computeresource.ttypes.UnicoreDataMovement()
+          self.unicoreDataMovement = apache.airavata.model.data.movement.ttypes.UnicoreDataMovement()
           self.unicoreDataMovement.read(iprot)
         else:
           iprot.skip(ftype)
@@ -32300,7 +32300,7 @@ class getUnicoreDataMovement_result:
   """
 
   thrift_spec = (
-    (0, TType.STRUCT, 'success', (apache.airavata.model.appcatalog.computeresource.ttypes.UnicoreDataMovement, apache.airavata.model.appcatalog.computeresource.ttypes.UnicoreDataMovement.thrift_spec), None, ), # 0
+    (0, TType.STRUCT, 'success', (apache.airavata.model.data.movement.ttypes.UnicoreDataMovement, apache.airavata.model.data.movement.ttypes.UnicoreDataMovement.thrift_spec), None, ), # 0
     (1, TType.STRUCT, 'ire', (apache.airavata.api.error.ttypes.InvalidRequestException, apache.airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ), # 1
     (2, TType.STRUCT, 'ace', (apache.airavata.api.error.ttypes.AiravataClientException, apache.airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ), # 2
     (3, TType.STRUCT, 'ase', (apache.airavata.api.error.ttypes.AiravataSystemException, apache.airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ), # 3
@@ -32325,7 +32325,7 @@ class getUnicoreDataMovement_result:
         break
       if fid == 0:
         if ftype == TType.STRUCT:
-          self.success = apache.airavata.model.appcatalog.computeresource.ttypes.UnicoreDataMovement()
+          self.success = apache.airavata.model.data.movement.ttypes.UnicoreDataMovement()
           self.success.read(iprot)
         else:
           iprot.skip(ftype)
@@ -32426,7 +32426,7 @@ class addGridFTPDataMovementDetails_args:
     (2, TType.STRING, 'resourceId', None, None, ), # 2
     (3, TType.I32, 'dataMoveType', None, None, ), # 3
     (4, TType.I32, 'priorityOrder', None, None, ), # 4
-    (5, TType.STRUCT, 'gridFTPDataMovement', (apache.airavata.model.appcatalog.computeresource.ttypes.GridFTPDataMovement, apache.airavata.model.appcatalog.computeresource.ttypes.GridFTPDataMovement.thrift_spec), None, ), # 5
+    (5, TType.STRUCT, 'gridFTPDataMovement', (apache.airavata.model.data.movement.ttypes.GridFTPDataMovement, apache.airavata.model.data.movement.ttypes.GridFTPDataMovement.thrift_spec), None, ), # 5
   )
 
   def __init__(self, authzToken=None, resourceId=None, dataMoveType=None, priorityOrder=None, gridFTPDataMovement=None,):
@@ -32468,7 +32468,7 @@ class addGridFTPDataMovementDetails_args:
           iprot.skip(ftype)
       elif fid == 5:
         if ftype == TType.STRUCT:
-          self.gridFTPDataMovement = apache.airavata.model.appcatalog.computeresource.ttypes.GridFTPDataMovement()
+          self.gridFTPDataMovement = apache.airavata.model.data.movement.ttypes.GridFTPDataMovement()
           self.gridFTPDataMovement.read(iprot)
         else:
           iprot.skip(ftype)
@@ -32671,7 +32671,7 @@ class updateGridFTPDataMovementDetails_args:
     None, # 0
     (1, TType.STRUCT, 'authzToken', (apache.airavata.model.security.ttypes.AuthzToken, apache.airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ), # 1
     (2, TType.STRING, 'dataMovementInterfaceId', None, None, ), # 2
-    (3, TType.STRUCT, 'gridFTPDataMovement', (apache.airavata.model.appcatalog.computeresource.ttypes.GridFTPDataMovement, apache.airavata.model.appcatalog.computeresource.ttypes.GridFTPDataMovement.thrift_spec), None, ), # 3
+    (3, TType.STRUCT, 'gridFTPDataMovement', (apache.airavata.model.data.movement.ttypes.GridFTPDataMovement, apache.airavata.model.data.movement.ttypes.GridFTPDataMovement.thrift_spec), None, ), # 3
   )
 
   def __init__(self, authzToken=None, dataMovementInterfaceId=None, gridFTPDataMovement=None,):
@@ -32701,7 +32701,7 @@ class updateGridFTPDataMovementDetails_args:
           iprot.skip(ftype)
       elif fid == 3:
         if ftype == TType.STRUCT:
-          self.gridFTPDataMovement = apache.airavata.model.appcatalog.computeresource.ttypes.GridFTPDataMovement()
+          self.gridFTPDataMovement = apache.airavata.model.data.movement.ttypes.GridFTPDataMovement()
           self.gridFTPDataMovement.read(iprot)
         else:
           iprot.skip(ftype)
@@ -32972,7 +32972,7 @@ class getGridFTPDataMovement_result:
   """
 
   thrift_spec = (
-    (0, TType.STRUCT, 'success', (apache.airavata.model.appcatalog.computeresource.ttypes.GridFTPDataMovement, apache.airavata.model.appcatalog.computeresource.ttypes.GridFTPDataMovement.thrift_spec), None, ), # 0
+    (0, TType.STRUCT, 'success', (apache.airavata.model.data.movement.ttypes.GridFTPDataMovement, apache.airavata.model.data.movement.ttypes.GridFTPDataMovement.thrift_spec), None, ), # 0
     (1, TType.STRUCT, 'ire', (apache.airavata.api.error.ttypes.InvalidRequestException, apache.airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ), # 1
     (2, TType.STRUCT, 'ace', (apache.airavata.api.error.ttypes.AiravataClientException, apache.airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ), # 2
     (3, TType.STRUCT, 'ase', (apache.airavata.api.error.ttypes.AiravataSystemException, apache.airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ), # 3
@@ -32997,7 +32997,7 @@ class getGridFTPDataMovement_result:
         break
       if fid == 0:
         if ftype == TType.STRUCT:
-          self.success = apache.airavata.model.appcatalog.computeresource.ttypes.GridFTPDataMovement()
+          self.success = apache.airavata.model.data.movement.ttypes.GridFTPDataMovement()
           self.success.read(iprot)
         else:
           iprot.skip(ftype)
@@ -36497,7 +36497,7 @@ class addGatewayStoragePreference_args:
   Attributes:
    - authzToken
    - gatewayID
-   - dataMoveId
+   - storageResourceId
    - storagePreference
   """
 
@@ -36505,14 +36505,14 @@ class addGatewayStoragePreference_args:
     None, # 0
     (1, TType.STRUCT, 'authzToken', (apache.airavata.model.security.ttypes.AuthzToken, apache.airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ), # 1
     (2, TType.STRING, 'gatewayID', None, None, ), # 2
-    (3, TType.STRING, 'dataMoveId', None, None, ), # 3
+    (3, TType.STRING, 'storageResourceId', None, None, ), # 3
     (4, TType.STRUCT, 'storagePreference', (apache.airavata.model.appcatalog.gatewayprofile.ttypes.StoragePreference, apache.airavata.model.appcatalog.gatewayprofile.ttypes.StoragePreference.thrift_spec), None, ), # 4
   )
 
-  def __init__(self, authzToken=None, gatewayID=None, dataMoveId=None, storagePreference=None,):
+  def __init__(self, authzToken=None, gatewayID=None, storageResourceId=None, storagePreference=None,):
     self.authzToken = authzToken
     self.gatewayID = gatewayID
-    self.dataMoveId = dataMoveId
+    self.storageResourceId = storageResourceId
     self.storagePreference = storagePreference
 
   def read(self, iprot):
@@ -36537,7 +36537,7 @@ class addGatewayStoragePreference_args:
           iprot.skip(ftype)
       elif fid == 3:
         if ftype == TType.STRING:
-          self.dataMoveId = iprot.readString();
+          self.storageResourceId = iprot.readString();
         else:
           iprot.skip(ftype)
       elif fid == 4:
@@ -36564,9 +36564,9 @@ class addGatewayStoragePreference_args:
       oprot.writeFieldBegin('gatewayID', TType.STRING, 2)
       oprot.writeString(self.gatewayID)
       oprot.writeFieldEnd()
-    if self.dataMoveId is not None:
-      oprot.writeFieldBegin('dataMoveId', TType.STRING, 3)
-      oprot.writeString(self.dataMoveId)
+    if self.storageResourceId is not None:
+      oprot.writeFieldBegin('storageResourceId', TType.STRING, 3)
+      oprot.writeString(self.storageResourceId)
       oprot.writeFieldEnd()
     if self.storagePreference is not None:
       oprot.writeFieldBegin('storagePreference', TType.STRUCT, 4)
@@ -36580,8 +36580,8 @@ class addGatewayStoragePreference_args:
       raise TProtocol.TProtocolException(message='Required field authzToken is unset!')
     if self.gatewayID is None:
       raise TProtocol.TProtocolException(message='Required field gatewayID is unset!')
-    if self.dataMoveId is None:
-      raise TProtocol.TProtocolException(message='Required field dataMoveId is unset!')
+    if self.storageResourceId is None:
+      raise TProtocol.TProtocolException(message='Required field storageResourceId is unset!')
     if self.storagePreference is None:
       raise TProtocol.TProtocolException(message='Required field storagePreference is unset!')
     return
@@ -36591,7 +36591,7 @@ class addGatewayStoragePreference_args:
     value = 17
     value = (value * 31) ^ hash(self.authzToken)
     value = (value * 31) ^ hash(self.gatewayID)
-    value = (value * 31) ^ hash(self.dataMoveId)
+    value = (value * 31) ^ hash(self.storageResourceId)
     value = (value * 31) ^ hash(self.storagePreference)
     return value
 
@@ -36950,20 +36950,20 @@ class getGatewayStoragePreference_args:
   Attributes:
    - authzToken
    - gatewayID
-   - dataMoveId
+   - storageResourceId
   """
 
   thrift_spec = (
     None, # 0
     (1, TType.STRUCT, 'authzToken', (apache.airavata.model.security.ttypes.AuthzToken, apache.airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ), # 1
     (2, TType.STRING, 'gatewayID', None, None, ), # 2
-    (3, TType.STRING, 'dataMoveId', None, None, ), # 3
+    (3, TType.STRING, 'storageResourceId', None, None, ), # 3
   )
 
-  def __init__(self, authzToken=None, gatewayID=None, dataMoveId=None,):
+  def __init__(self, authzToken=None, gatewayID=None, storageResourceId=None,):
     self.authzToken = authzToken
     self.gatewayID = gatewayID
-    self.dataMoveId = dataMoveId
+    self.storageResourceId = storageResourceId
 
   def read(self, iprot):
     if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
@@ -36987,7 +36987,7 @@ class getGatewayStoragePreference_args:
           iprot.skip(ftype)
       elif fid == 3:
         if ftype == TType.STRING:
-          self.dataMoveId = iprot.readString();
+          self.storageResourceId = iprot.readString();
         else:
           iprot.skip(ftype)
       else:
@@ -37008,9 +37008,9 @@ class getGatewayStoragePreference_args:
       oprot.writeFieldBegin('gatewayID', TType.STRING, 2)
       oprot.writeString(self.gatewayID)
       oprot.writeFieldEnd()
-    if self.dataMoveId is not None:
-      oprot.writeFieldBegin('dataMoveId', TType.STRING, 3)
-      oprot.writeString(self.dataMoveId)
+    if self.storageResourceId is not None:
+      oprot.writeFieldBegin('storageResourceId', TType.STRING, 3)
+      oprot.writeString(self.storageResourceId)
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
     oprot.writeStructEnd()
@@ -37020,8 +37020,8 @@ class getGatewayStoragePreference_args:
       raise TProtocol.TProtocolException(message='Required field authzToken is unset!')
     if self.gatewayID is None:
       raise TProtocol.TProtocolException(message='Required field gatewayID is unset!')
-    if self.dataMoveId is None:
-      raise TProtocol.TProtocolException(message='Required field dataMoveId is unset!')
+    if self.storageResourceId is None:
+      raise TProtocol.TProtocolException(message='Required field storageResourceId is unset!')
     return
 
 
@@ -37029,7 +37029,7 @@ class getGatewayStoragePreference_args:
     value = 17
     value = (value * 31) ^ hash(self.authzToken)
     value = (value * 31) ^ hash(self.gatewayID)
-    value = (value * 31) ^ hash(self.dataMoveId)
+    value = (value * 31) ^ hash(self.storageResourceId)
     return value
 
   def __repr__(self):

http://git-wip-us.apache.org/repos/asf/airavata/blob/ca89eaee/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/ttypes.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/ttypes.py
index fa40659..e6460f3 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/ttypes.py
@@ -22,6 +22,7 @@ import apache.airavata.model.appcatalog.appinterface.ttypes
 import apache.airavata.model.appcatalog.gatewayprofile.ttypes
 import apache.airavata.model.workflow.ttypes
 import apache.airavata.model.security.ttypes
+import apache.airavata.model.data.movement.ttypes
 
 
 from thrift.transport import TTransport

http://git-wip-us.apache.org/repos/asf/airavata/blob/ca89eaee/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/computeresource/ttypes.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/computeresource/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/computeresource/ttypes.py
index a7019fd..343ad6d 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/computeresource/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/computeresource/ttypes.py
@@ -8,6 +8,7 @@
 
 from thrift.Thrift import TType, TMessageType, TException, TApplicationException
 import apache.airavata.model.commons.ttypes
+import apache.airavata.model.data.movement.ttypes
 
 
 from thrift.transport import TTransport
@@ -153,46 +154,6 @@ class FileSystems:
     "ARCHIVE": 4,
   }
 
-class SecurityProtocol:
-  """
-  Enumeration of security authentication and authorization mechanisms supported by Airavata. This enumeration just
-   describes the supported mechanism. The corresponding security credentials are registered with Airavata Credential
-   store.
-
-  USERNAME_PASSWORD:
-   A User Name.
-
-  SSH_KEYS:
-   SSH Keys
-
-  FIXME: Change GSI to a more precise generic security protocol - X509
-
-  """
-  USERNAME_PASSWORD = 0
-  SSH_KEYS = 1
-  GSI = 2
-  KERBEROS = 3
-  OAUTH = 4
-  LOCAL = 5
-
-  _VALUES_TO_NAMES = {
-    0: "USERNAME_PASSWORD",
-    1: "SSH_KEYS",
-    2: "GSI",
-    3: "KERBEROS",
-    4: "OAUTH",
-    5: "LOCAL",
-  }
-
-  _NAMES_TO_VALUES = {
-    "USERNAME_PASSWORD": 0,
-    "SSH_KEYS": 1,
-    "GSI": 2,
-    "KERBEROS": 3,
-    "OAUTH": 4,
-    "LOCAL": 5,
-  }
-
 class JobSubmissionProtocol:
   """
   Enumeration of Airavata supported Job Submission Mechanisms for High Performance Computing Clusters.
@@ -266,59 +227,6 @@ class MonitorMode:
     "FORK": 3,
   }
 
-class DMType:
-  COMPUTE_RESOURCE = 0
-  STORAGE_RESOURCE = 1
-
-  _VALUES_TO_NAMES = {
-    0: "COMPUTE_RESOURCE",
-    1: "STORAGE_RESOURCE",
-  }
-
-  _NAMES_TO_VALUES = {
-    "COMPUTE_RESOURCE": 0,
-    "STORAGE_RESOURCE": 1,
-  }
-
-class DataMovementProtocol:
-  """
-  Enumeration of data movement supported by Airavata
-
-  SCP:
-   Job manager supporting the Portal Batch System (PBS) protocol. Some examples include TORQUE, PBSPro, Grid Engine.
-
-  SFTP:
-   The Simple Linux Utility for Resource Management is a open source workload manager.
-
-  GridFTP:
-   Globus File Transfer Protocol
-
-  UNICORE_STORAGE_SERVICE:
-   Storage Service Provided by Unicore
-
-  """
-  LOCAL = 0
-  SCP = 1
-  SFTP = 2
-  GridFTP = 3
-  UNICORE_STORAGE_SERVICE = 4
-
-  _VALUES_TO_NAMES = {
-    0: "LOCAL",
-    1: "SCP",
-    2: "SFTP",
-    3: "GridFTP",
-    4: "UNICORE_STORAGE_SERVICE",
-  }
-
-  _NAMES_TO_VALUES = {
-    "LOCAL": 0,
-    "SCP": 1,
-    "SFTP": 2,
-    "GridFTP": 3,
-    "UNICORE_STORAGE_SERVICE": 4,
-  }
-
 class ProviderName:
   """
   Provider name
@@ -638,337 +546,6 @@ class BatchQueue:
   def __ne__(self, other):
     return not (self == other)
 
-class SCPDataMovement:
-  """
-  Data Movement through Secured Copy
-
-  alternativeSCPHostName:
-   If the login to scp is different than the hostname itself, specify it here
-
-  sshPort:
-   If a non-default port needs to used, specify it.
-
-  Attributes:
-   - dataMovementInterfaceId
-   - securityProtocol
-   - alternativeSCPHostName
-   - sshPort
-  """
-
-  thrift_spec = (
-    None, # 0
-    (1, TType.STRING, 'dataMovementInterfaceId', None, "DO_NOT_SET_AT_CLIENTS", ), # 1
-    (2, TType.I32, 'securityProtocol', None, None, ), # 2
-    (3, TType.STRING, 'alternativeSCPHostName', None, None, ), # 3
-    (4, TType.I32, 'sshPort', None, 22, ), # 4
-  )
-
-  def __init__(self, dataMovementInterfaceId=thrift_spec[1][4], securityProtocol=None, alternativeSCPHostName=None, sshPort=thrift_spec[4][4],):
-    self.dataMovementInterfaceId = dataMovementInterfaceId
-    self.securityProtocol = securityProtocol
-    self.alternativeSCPHostName = alternativeSCPHostName
-    self.sshPort = sshPort
-
-  def read(self, iprot):
-    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
-      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
-      return
-    iprot.readStructBegin()
-    while True:
-      (fname, ftype, fid) = iprot.readFieldBegin()
-      if ftype == TType.STOP:
-        break
-      if fid == 1:
-        if ftype == TType.STRING:
-          self.dataMovementInterfaceId = iprot.readString();
-        else:
-          iprot.skip(ftype)
-      elif fid == 2:
-        if ftype == TType.I32:
-          self.securityProtocol = iprot.readI32();
-        else:
-          iprot.skip(ftype)
-      elif fid == 3:
-        if ftype == TType.STRING:
-          self.alternativeSCPHostName = iprot.readString();
-        else:
-          iprot.skip(ftype)
-      elif fid == 4:
-        if ftype == TType.I32:
-          self.sshPort = iprot.readI32();
-        else:
-          iprot.skip(ftype)
-      else:
-        iprot.skip(ftype)
-      iprot.readFieldEnd()
-    iprot.readStructEnd()
-
-  def write(self, oprot):
-    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
-      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
-      return
-    oprot.writeStructBegin('SCPDataMovement')
-    if self.dataMovementInterfaceId is not None:
-      oprot.writeFieldBegin('dataMovementInterfaceId', TType.STRING, 1)
-      oprot.writeString(self.dataMovementInterfaceId)
-      oprot.writeFieldEnd()
-    if self.securityProtocol is not None:
-      oprot.writeFieldBegin('securityProtocol', TType.I32, 2)
-      oprot.writeI32(self.securityProtocol)
-      oprot.writeFieldEnd()
-    if self.alternativeSCPHostName is not None:
-      oprot.writeFieldBegin('alternativeSCPHostName', TType.STRING, 3)
-      oprot.writeString(self.alternativeSCPHostName)
-      oprot.writeFieldEnd()
-    if self.sshPort is not None:
-      oprot.writeFieldBegin('sshPort', TType.I32, 4)
-      oprot.writeI32(self.sshPort)
-      oprot.writeFieldEnd()
-    oprot.writeFieldStop()
-    oprot.writeStructEnd()
-
-  def validate(self):
-    if self.dataMovementInterfaceId is None:
-      raise TProtocol.TProtocolException(message='Required field dataMovementInterfaceId is unset!')
-    if self.securityProtocol is None:
-      raise TProtocol.TProtocolException(message='Required field securityProtocol is unset!')
-    return
-
-
-  def __hash__(self):
-    value = 17
-    value = (value * 31) ^ hash(self.dataMovementInterfaceId)
-    value = (value * 31) ^ hash(self.securityProtocol)
-    value = (value * 31) ^ hash(self.alternativeSCPHostName)
-    value = (value * 31) ^ hash(self.sshPort)
-    return value
-
-  def __repr__(self):
-    L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
-    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
-
-  def __eq__(self, other):
-    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
-
-  def __ne__(self, other):
-    return not (self == other)
-
-class GridFTPDataMovement:
-  """
-  Data Movement through GridFTP
-
-  alternativeSCPHostName:
-   If the login to scp is different than the hostname itself, specify it here
-
-  sshPort:
-   If a non-default port needs to used, specify it.
-
-  Attributes:
-   - dataMovementInterfaceId
-   - securityProtocol
-   - gridFTPEndPoints
-  """
-
-  thrift_spec = (
-    None, # 0
-    (1, TType.STRING, 'dataMovementInterfaceId', None, "DO_NOT_SET_AT_CLIENTS", ), # 1
-    (2, TType.I32, 'securityProtocol', None, None, ), # 2
-    (3, TType.LIST, 'gridFTPEndPoints', (TType.STRING,None), None, ), # 3
-  )
-
-  def __init__(self, dataMovementInterfaceId=thrift_spec[1][4], securityProtocol=None, gridFTPEndPoints=None,):
-    self.dataMovementInterfaceId = dataMovementInterfaceId
-    self.securityProtocol = securityProtocol
-    self.gridFTPEndPoints = gridFTPEndPoints
-
-  def read(self, iprot):
-    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
-      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
-      return
-    iprot.readStructBegin()
-    while True:
-      (fname, ftype, fid) = iprot.readFieldBegin()
-      if ftype == TType.STOP:
-        break
-      if fid == 1:
-        if ftype == TType.STRING:
-          self.dataMovementInterfaceId = iprot.readString();
-        else:
-          iprot.skip(ftype)
-      elif fid == 2:
-        if ftype == TType.I32:
-          self.securityProtocol = iprot.readI32();
-        else:
-          iprot.skip(ftype)
-      elif fid == 3:
-        if ftype == TType.LIST:
-          self.gridFTPEndPoints = []
-          (_etype12, _size9) = iprot.readListBegin()
-          for _i13 in xrange(_size9):
-            _elem14 = iprot.readString();
-            self.gridFTPEndPoints.append(_elem14)
-          iprot.readListEnd()
-        else:
-          iprot.skip(ftype)
-      else:
-        iprot.skip(ftype)
-      iprot.readFieldEnd()
-    iprot.readStructEnd()
-
-  def write(self, oprot):
-    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
-      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
-      return
-    oprot.writeStructBegin('GridFTPDataMovement')
-    if self.dataMovementInterfaceId is not None:
-      oprot.writeFieldBegin('dataMovementInterfaceId', TType.STRING, 1)
-      oprot.writeString(self.dataMovementInterfaceId)
-      oprot.writeFieldEnd()
-    if self.securityProtocol is not None:
-      oprot.writeFieldBegin('securityProtocol', TType.I32, 2)
-      oprot.writeI32(self.securityProtocol)
-      oprot.writeFieldEnd()
-    if self.gridFTPEndPoints is not None:
-      oprot.writeFieldBegin('gridFTPEndPoints', TType.LIST, 3)
-      oprot.writeListBegin(TType.STRING, len(self.gridFTPEndPoints))
-      for iter15 in self.gridFTPEndPoints:
-        oprot.writeString(iter15)
-      oprot.writeListEnd()
-      oprot.writeFieldEnd()
-    oprot.writeFieldStop()
-    oprot.writeStructEnd()
-
-  def validate(self):
-    if self.dataMovementInterfaceId is None:
-      raise TProtocol.TProtocolException(message='Required field dataMovementInterfaceId is unset!')
-    if self.securityProtocol is None:
-      raise TProtocol.TProtocolException(message='Required field securityProtocol is unset!')
-    if self.gridFTPEndPoints is None:
-      raise TProtocol.TProtocolException(message='Required field gridFTPEndPoints is unset!')
-    return
-
-
-  def __hash__(self):
-    value = 17
-    value = (value * 31) ^ hash(self.dataMovementInterfaceId)
-    value = (value * 31) ^ hash(self.securityProtocol)
-    value = (value * 31) ^ hash(self.gridFTPEndPoints)
-    return value
-
-  def __repr__(self):
-    L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
-    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
-
-  def __eq__(self, other):
-    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
-
-  def __ne__(self, other):
-    return not (self == other)
-
-class UnicoreDataMovement:
-  """
-  Data Movement through UnicoreStorage
-
-  unicoreEndPointURL:
-   unicoreGateway End Point. The provider will query this service to fetch required service end points.
-
-  Attributes:
-   - dataMovementInterfaceId
-   - securityProtocol
-   - unicoreEndPointURL
-  """
-
-  thrift_spec = (
-    None, # 0
-    (1, TType.STRING, 'dataMovementInterfaceId', None, "DO_NOT_SET_AT_CLIENTS", ), # 1
-    (2, TType.I32, 'securityProtocol', None, None, ), # 2
-    (3, TType.STRING, 'unicoreEndPointURL', None, None, ), # 3
-  )
-
-  def __init__(self, dataMovementInterfaceId=thrift_spec[1][4], securityProtocol=None, unicoreEndPointURL=None,):
-    self.dataMovementInterfaceId = dataMovementInterfaceId
-    self.securityProtocol = securityProtocol
-    self.unicoreEndPointURL = unicoreEndPointURL
-
-  def read(self, iprot):
-    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
-      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
-      return
-    iprot.readStructBegin()
-    while True:
-      (fname, ftype, fid) = iprot.readFieldBegin()
-      if ftype == TType.STOP:
-        break
-      if fid == 1:
-        if ftype == TType.STRING:
-          self.dataMovementInterfaceId = iprot.readString();
-        else:
-          iprot.skip(ftype)
-      elif fid == 2:
-        if ftype == TType.I32:
-          self.securityProtocol = iprot.readI32();
-        else:
-          iprot.skip(ftype)
-      elif fid == 3:
-        if ftype == TType.STRING:
-          self.unicoreEndPointURL = iprot.readString();
-        else:
-          iprot.skip(ftype)
-      else:
-        iprot.skip(ftype)
-      iprot.readFieldEnd()
-    iprot.readStructEnd()
-
-  def write(self, oprot):
-    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
-      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
-      return
-    oprot.writeStructBegin('UnicoreDataMovement')
-    if self.dataMovementInterfaceId is not None:
-      oprot.writeFieldBegin('dataMovementInterfaceId', TType.STRING, 1)
-      oprot.writeString(self.dataMovementInterfaceId)
-      oprot.writeFieldEnd()
-    if self.securityProtocol is not None:
-      oprot.writeFieldBegin('securityProtocol', TType.I32, 2)
-      oprot.writeI32(self.securityProtocol)
-      oprot.writeFieldEnd()
-    if self.unicoreEndPointURL is not None:
-      oprot.writeFieldBegin('unicoreEndPointURL', TType.STRING, 3)
-      oprot.writeString(self.unicoreEndPointURL)
-      oprot.writeFieldEnd()
-    oprot.writeFieldStop()
-    oprot.writeStructEnd()
-
-  def validate(self):
-    if self.dataMovementInterfaceId is None:
-      raise TProtocol.TProtocolException(message='Required field dataMovementInterfaceId is unset!')
-    if self.securityProtocol is None:
-      raise TProtocol.TProtocolException(message='Required field securityProtocol is unset!')
-    if self.unicoreEndPointURL is None:
-      raise TProtocol.TProtocolException(message='Required field unicoreEndPointURL is unset!')
-    return
-
-
-  def __hash__(self):
-    value = 17
-    value = (value * 31) ^ hash(self.dataMovementInterfaceId)
-    value = (value * 31) ^ hash(self.securityProtocol)
-    value = (value * 31) ^ hash(self.unicoreEndPointURL)
-    return value
-
-  def __repr__(self):
-    L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
-    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
-
-  def __eq__(self, other):
-    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
-
-  def __ne__(self, other):
-    return not (self == other)
-
 class LOCALSubmission:
   """
   Locally Fork Jobs as OS processes
@@ -1075,81 +652,6 @@ class LOCALSubmission:
   def __ne__(self, other):
     return not (self == other)
 
-class LOCALDataMovement:
-  """
-  LOCAL
-
-  alternativeSCPHostName:
-   If the login to scp is different than the hostname itself, specify it here
-
-  sshPort:
-   If a non-defualt port needs to used, specify it.
-
-  Attributes:
-   - dataMovementInterfaceId
-  """
-
-  thrift_spec = (
-    None, # 0
-    (1, TType.STRING, 'dataMovementInterfaceId', None, "DO_NOT_SET_AT_CLIENTS", ), # 1
-  )
-
-  def __init__(self, dataMovementInterfaceId=thrift_spec[1][4],):
-    self.dataMovementInterfaceId = dataMovementInterfaceId
-
-  def read(self, iprot):
-    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
-      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
-      return
-    iprot.readStructBegin()
-    while True:
-      (fname, ftype, fid) = iprot.readFieldBegin()
-      if ftype == TType.STOP:
-        break
-      if fid == 1:
-        if ftype == TType.STRING:
-          self.dataMovementInterfaceId = iprot.readString();
-        else:
-          iprot.skip(ftype)
-      else:
-        iprot.skip(ftype)
-      iprot.readFieldEnd()
-    iprot.readStructEnd()
-
-  def write(self, oprot):
-    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
-      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
-      return
-    oprot.writeStructBegin('LOCALDataMovement')
-    if self.dataMovementInterfaceId is not None:
-      oprot.writeFieldBegin('dataMovementInterfaceId', TType.STRING, 1)
-      oprot.writeString(self.dataMovementInterfaceId)
-      oprot.writeFieldEnd()
-    oprot.writeFieldStop()
-    oprot.writeStructEnd()
-
-  def validate(self):
-    if self.dataMovementInterfaceId is None:
-      raise TProtocol.TProtocolException(message='Required field dataMovementInterfaceId is unset!')
-    return
-
-
-  def __hash__(self):
-    value = 17
-    value = (value * 31) ^ hash(self.dataMovementInterfaceId)
-    return value
-
-  def __repr__(self):
-    L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
-    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
-
-  def __eq__(self, other):
-    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
-
-  def __ne__(self, other):
-    return not (self == other)
-
 class SSHJobSubmission:
   """
   Authenticate using Secured Shell
@@ -1240,10 +742,10 @@ class SSHJobSubmission:
       elif fid == 7:
         if ftype == TType.LIST:
           self.batchQueueEmailSenders = []
-          (_etype19, _size16) = iprot.readListBegin()
-          for _i20 in xrange(_size16):
-            _elem21 = iprot.readString();
-            self.batchQueueEmailSenders.append(_elem21)
+          (_etype12, _size9) = iprot.readListBegin()
+          for _i13 in xrange(_size9):
+            _elem14 = iprot.readString();
+            self.batchQueueEmailSenders.append(_elem14)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -1284,8 +786,8 @@ class SSHJobSubmission:
     if self.batchQueueEmailSenders is not None:
       oprot.writeFieldBegin('batchQueueEmailSenders', TType.LIST, 7)
       oprot.writeListBegin(TType.STRING, len(self.batchQueueEmailSenders))
-      for iter22 in self.batchQueueEmailSenders:
-        oprot.writeString(iter22)
+      for iter15 in self.batchQueueEmailSenders:
+        oprot.writeString(iter15)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
@@ -1365,10 +867,10 @@ class GlobusJobSubmission:
       elif fid == 3:
         if ftype == TType.LIST:
           self.globusGateKeeperEndPoint = []
-          (_etype26, _size23) = iprot.readListBegin()
-          for _i27 in xrange(_size23):
-            _elem28 = iprot.readString();
-            self.globusGateKeeperEndPoint.append(_elem28)
+          (_etype19, _size16) = iprot.readListBegin()
+          for _i20 in xrange(_size16):
+            _elem21 = iprot.readString();
+            self.globusGateKeeperEndPoint.append(_elem21)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -1393,8 +895,8 @@ class GlobusJobSubmission:
     if self.globusGateKeeperEndPoint is not None:
       oprot.writeFieldBegin('globusGateKeeperEndPoint', TType.LIST, 3)
       oprot.writeListBegin(TType.STRING, len(self.globusGateKeeperEndPoint))
-      for iter29 in self.globusGateKeeperEndPoint:
-        oprot.writeString(iter29)
+      for iter22 in self.globusGateKeeperEndPoint:
+        oprot.writeString(iter22)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
@@ -1782,112 +1284,6 @@ class JobSubmissionInterface:
   def __ne__(self, other):
     return not (self == other)
 
-class DataMovementInterface:
-  """
-  Data Movement Interfaces
-
-  dataMovementInterfaceId: The Data Movement Interface has to be previously registered and referenced here.
-
-  priorityOrder:
-   For resources with multiple interfaces, the priority order should be selected.
-    Lower the numerical number, higher the priority
-
-
-  Attributes:
-   - dataMovementInterfaceId
-   - dataMovementProtocol
-   - priorityOrder
-  """
-
-  thrift_spec = (
-    None, # 0
-    (1, TType.STRING, 'dataMovementInterfaceId', None, None, ), # 1
-    (2, TType.I32, 'dataMovementProtocol', None, None, ), # 2
-    (3, TType.I32, 'priorityOrder', None, 0, ), # 3
-  )
-
-  def __init__(self, dataMovementInterfaceId=None, dataMovementProtocol=None, priorityOrder=thrift_spec[3][4],):
-    self.dataMovementInterfaceId = dataMovementInterfaceId
-    self.dataMovementProtocol = dataMovementProtocol
-    self.priorityOrder = priorityOrder
-
-  def read(self, iprot):
-    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
-      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
-      return
-    iprot.readStructBegin()
-    while True:
-      (fname, ftype, fid) = iprot.readFieldBegin()
-      if ftype == TType.STOP:
-        break
-      if fid == 1:
-        if ftype == TType.STRING:
-          self.dataMovementInterfaceId = iprot.readString();
-        else:
-          iprot.skip(ftype)
-      elif fid == 2:
-        if ftype == TType.I32:
-          self.dataMovementProtocol = iprot.readI32();
-        else:
-          iprot.skip(ftype)
-      elif fid == 3:
-        if ftype == TType.I32:
-          self.priorityOrder = iprot.readI32();
-        else:
-          iprot.skip(ftype)
-      else:
-        iprot.skip(ftype)
-      iprot.readFieldEnd()
-    iprot.readStructEnd()
-
-  def write(self, oprot):
-    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
-      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
-      return
-    oprot.writeStructBegin('DataMovementInterface')
-    if self.dataMovementInterfaceId is not None:
-      oprot.writeFieldBegin('dataMovementInterfaceId', TType.STRING, 1)
-      oprot.writeString(self.dataMovementInterfaceId)
-      oprot.writeFieldEnd()
-    if self.dataMovementProtocol is not None:
-      oprot.writeFieldBegin('dataMovementProtocol', TType.I32, 2)
-      oprot.writeI32(self.dataMovementProtocol)
-      oprot.writeFieldEnd()
-    if self.priorityOrder is not None:
-      oprot.writeFieldBegin('priorityOrder', TType.I32, 3)
-      oprot.writeI32(self.priorityOrder)
-      oprot.writeFieldEnd()
-    oprot.writeFieldStop()
-    oprot.writeStructEnd()
-
-  def validate(self):
-    if self.dataMovementInterfaceId is None:
-      raise TProtocol.TProtocolException(message='Required field dataMovementInterfaceId is unset!')
-    if self.dataMovementProtocol is None:
-      raise TProtocol.TProtocolException(message='Required field dataMovementProtocol is unset!')
-    if self.priorityOrder is None:
-      raise TProtocol.TProtocolException(message='Required field priorityOrder is unset!')
-    return
-
-
-  def __hash__(self):
-    value = 17
-    value = (value * 31) ^ hash(self.dataMovementInterfaceId)
-    value = (value * 31) ^ hash(self.dataMovementProtocol)
-    value = (value * 31) ^ hash(self.priorityOrder)
-    return value
-
-  def __repr__(self):
-    L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
-    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
-
-  def __eq__(self, other):
-    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
-
-  def __ne__(self, other):
-    return not (self == other)
-
 class ComputeResourceDescription:
   """
   Computational Resource Description
@@ -1943,7 +1339,7 @@ class ComputeResourceDescription:
     (7, TType.LIST, 'batchQueues', (TType.STRUCT,(BatchQueue, BatchQueue.thrift_spec)), None, ), # 7
     (8, TType.MAP, 'fileSystems', (TType.I32,None,TType.STRING,None), None, ), # 8
     (9, TType.LIST, 'jobSubmissionInterfaces', (TType.STRUCT,(JobSubmissionInterface, JobSubmissionInterface.thrift_spec)), None, ), # 9
-    (10, TType.LIST, 'dataMovementInterfaces', (TType.STRUCT,(DataMovementInterface, DataMovementInterface.thrift_spec)), None, ), # 10
+    (10, TType.LIST, 'dataMovementInterfaces', (TType.STRUCT,(apache.airavata.model.data.movement.ttypes.DataMovementInterface, apache.airavata.model.data.movement.ttypes.DataMovementInterface.thrift_spec)), None, ), # 10
     (11, TType.I32, 'maxMemoryPerNode', None, None, ), # 11
   )
 
@@ -1982,20 +1378,20 @@ class ComputeResourceDescription:
       elif fid == 3:
         if ftype == TType.LIST:
           self.hostAliases = []
-          (_etype33, _size30) = iprot.readListBegin()
-          for _i34 in xrange(_size30):
-            _elem35 = iprot.readString();
-            self.hostAliases.append(_elem35)
+          (_etype26, _size23) = iprot.readListBegin()
+          for _i27 in xrange(_size23):
+            _elem28 = iprot.readString();
+            self.hostAliases.append(_elem28)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
       elif fid == 4:
         if ftype == TType.LIST:
           self.ipAddresses = []
-          (_etype39, _size36) = iprot.readListBegin()
-          for _i40 in xrange(_size36):
-            _elem41 = iprot.readString();
-            self.ipAddresses.append(_elem41)
+          (_etype32, _size29) = iprot.readListBegin()
+          for _i33 in xrange(_size29):
+            _elem34 = iprot.readString();
+            self.ipAddresses.append(_elem34)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -2012,44 +1408,44 @@ class ComputeResourceDescription:
       elif fid == 7:
         if ftype == TType.LIST:
           self.batchQueues = []
-          (_etype45, _size42) = iprot.readListBegin()
-          for _i46 in xrange(_size42):
-            _elem47 = BatchQueue()
-            _elem47.read(iprot)
-            self.batchQueues.append(_elem47)
+          (_etype38, _size35) = iprot.readListBegin()
+          for _i39 in xrange(_size35):
+            _elem40 = BatchQueue()
+            _elem40.read(iprot)
+            self.batchQueues.append(_elem40)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
       elif fid == 8:
         if ftype == TType.MAP:
           self.fileSystems = {}
-          (_ktype49, _vtype50, _size48 ) = iprot.readMapBegin()
-          for _i52 in xrange(_size48):
-            _key53 = iprot.readI32();
-            _val54 = iprot.readString();
-            self.fileSystems[_key53] = _val54
+          (_ktype42, _vtype43, _size41 ) = iprot.readMapBegin()
+          for _i45 in xrange(_size41):
+            _key46 = iprot.readI32();
+            _val47 = iprot.readString();
+            self.fileSystems[_key46] = _val47
           iprot.readMapEnd()
         else:
           iprot.skip(ftype)
       elif fid == 9:
         if ftype == TType.LIST:
           self.jobSubmissionInterfaces = []
-          (_etype58, _size55) = iprot.readListBegin()
-          for _i59 in xrange(_size55):
-            _elem60 = JobSubmissionInterface()
-            _elem60.read(iprot)
-            self.jobSubmissionInterfaces.append(_elem60)
+          (_etype51, _size48) = iprot.readListBegin()
+          for _i52 in xrange(_size48):
+            _elem53 = JobSubmissionInterface()
+            _elem53.read(iprot)
+            self.jobSubmissionInterfaces.append(_elem53)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
       elif fid == 10:
         if ftype == TType.LIST:
           self.dataMovementInterfaces = []
-          (_etype64, _size61) = iprot.readListBegin()
-          for _i65 in xrange(_size61):
-            _elem66 = DataMovementInterface()
-            _elem66.read(iprot)
-            self.dataMovementInterfaces.append(_elem66)
+          (_etype57, _size54) = iprot.readListBegin()
+          for _i58 in xrange(_size54):
+            _elem59 = apache.airavata.model.data.movement.ttypes.DataMovementInterface()
+            _elem59.read(iprot)
+            self.dataMovementInterfaces.append(_elem59)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -2079,15 +1475,15 @@ class ComputeResourceDescription:
     if self.hostAliases is not None:
       oprot.writeFieldBegin('hostAliases', TType.LIST, 3)
       oprot.writeListBegin(TType.STRING, len(self.hostAliases))
-      for iter67 in self.hostAliases:
-        oprot.writeString(iter67)
+      for iter60 in self.hostAliases:
+        oprot.writeString(iter60)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.ipAddresses is not None:
       oprot.writeFieldBegin('ipAddresses', TType.LIST, 4)
       oprot.writeListBegin(TType.STRING, len(self.ipAddresses))
-      for iter68 in self.ipAddresses:
-        oprot.writeString(iter68)
+      for iter61 in self.ipAddresses:
+        oprot.writeString(iter61)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.resourceDescription is not None:
@@ -2101,30 +1497,30 @@ class ComputeResourceDescription:
     if self.batchQueues is not None:
       oprot.writeFieldBegin('batchQueues', TType.LIST, 7)
       oprot.writeListBegin(TType.STRUCT, len(self.batchQueues))
-      for iter69 in self.batchQueues:
-        iter69.write(oprot)
+      for iter62 in self.batchQueues:
+        iter62.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.fileSystems is not None:
       oprot.writeFieldBegin('fileSystems', TType.MAP, 8)
       oprot.writeMapBegin(TType.I32, TType.STRING, len(self.fileSystems))
-      for kiter70,viter71 in self.fileSystems.items():
-        oprot.writeI32(kiter70)
-        oprot.writeString(viter71)
+      for kiter63,viter64 in self.fileSystems.items():
+        oprot.writeI32(kiter63)
+        oprot.writeString(viter64)
       oprot.writeMapEnd()
       oprot.writeFieldEnd()
     if self.jobSubmissionInterfaces is not None:
       oprot.writeFieldBegin('jobSubmissionInterfaces', TType.LIST, 9)
       oprot.writeListBegin(TType.STRUCT, len(self.jobSubmissionInterfaces))
-      for iter72 in self.jobSubmissionInterfaces:
-        iter72.write(oprot)
+      for iter65 in self.jobSubmissionInterfaces:
+        iter65.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.dataMovementInterfaces is not None:
       oprot.writeFieldBegin('dataMovementInterfaces', TType.LIST, 10)
       oprot.writeListBegin(TType.STRUCT, len(self.dataMovementInterfaces))
-      for iter73 in self.dataMovementInterfaces:
-        iter73.write(oprot)
+      for iter66 in self.dataMovementInterfaces:
+        iter66.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.maxMemoryPerNode is not None:

http://git-wip-us.apache.org/repos/asf/airavata/blob/ca89eaee/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/gatewayprofile/ttypes.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/gatewayprofile/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/gatewayprofile/ttypes.py
index 941655d..fc98528 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/gatewayprofile/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/gatewayprofile/ttypes.py
@@ -8,6 +8,7 @@
 
 from thrift.Thrift import TType, TMessageType, TException, TApplicationException
 import apache.airavata.model.appcatalog.computeresource.ttypes
+import apache.airavata.model.data.movement.ttypes
 
 
 from thrift.transport import TTransport


Mime
View raw message