| <!DOCTYPE html> |
| <html lang="en"> |
| <head> |
| <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> |
| <link href="style.css" rel="stylesheet" type="text/css"/> |
| <title>Thrift module: data_movement_models</title></head><body> |
| <div class="container-fluid"> |
| <h1>Thrift module: data_movement_models</h1> |
| <table class="table-bordered table-striped table-condensed"><thead><tr><th>Module</th><th>Services</th><th>Data types</th><th>Constants</th></tr></thead><tbody> |
| <tr> |
| <td>data_movement_models</td><td></td> |
| <td><a href="#Enum_DMType">DMType</a><br/> |
| <a href="#Struct_DataMovementInterface">DataMovementInterface</a><br/> |
| <a href="#Enum_DataMovementProtocol">DataMovementProtocol</a><br/> |
| <a href="#Struct_GridFTPDataMovement">GridFTPDataMovement</a><br/> |
| <a href="#Struct_LOCALDataMovement">LOCALDataMovement</a><br/> |
| <a href="#Struct_SCPDataMovement">SCPDataMovement</a><br/> |
| <a href="#Enum_SecurityProtocol">SecurityProtocol</a><br/> |
| <a href="#Struct_UnicoreDataMovement">UnicoreDataMovement</a><br/> |
| </td> |
| <td></td> |
| </tr></tbody></table> |
| <hr/><h2 id="Enumerations">Enumerations</h2> |
| <div class="definition"><h3 id="Enum_DMType">Enumeration: DMType</h3> |
| <br/><table class="table-bordered table-striped table-condensed"> |
| <tr><td><code>COMPUTE_RESOURCE</code></td><td><code>0</code></td><td> |
| </td></tr> |
| <tr><td><code>STORAGE_RESOURCE</code></td><td><code>1</code></td><td> |
| </td></tr> |
| </table></div> |
| <div class="definition"><h3 id="Enum_SecurityProtocol">Enumeration: SecurityProtocol</h3> |
| <pre>Enumeration of security sshKeyAuthentication 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 |
| |
| </pre><br/><br/><table class="table-bordered table-striped table-condensed"> |
| <tr><td><code>USERNAME_PASSWORD</code></td><td><code>0</code></td><td> |
| </td></tr> |
| <tr><td><code>SSH_KEYS</code></td><td><code>1</code></td><td> |
| </td></tr> |
| <tr><td><code>GSI</code></td><td><code>2</code></td><td> |
| </td></tr> |
| <tr><td><code>KERBEROS</code></td><td><code>3</code></td><td> |
| </td></tr> |
| <tr><td><code>OAUTH</code></td><td><code>4</code></td><td> |
| </td></tr> |
| <tr><td><code>LOCAL</code></td><td><code>5</code></td><td> |
| </td></tr> |
| </table></div> |
| <div class="definition"><h3 id="Enum_DataMovementProtocol">Enumeration: DataMovementProtocol</h3> |
| <pre>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 |
| |
| </pre><br/><br/><table class="table-bordered table-striped table-condensed"> |
| <tr><td><code>LOCAL</code></td><td><code>0</code></td><td> |
| </td></tr> |
| <tr><td><code>SCP</code></td><td><code>1</code></td><td> |
| </td></tr> |
| <tr><td><code>SFTP</code></td><td><code>2</code></td><td> |
| </td></tr> |
| <tr><td><code>GridFTP</code></td><td><code>3</code></td><td> |
| </td></tr> |
| <tr><td><code>UNICORE_STORAGE_SERVICE</code></td><td><code>4</code></td><td> |
| </td></tr> |
| </table></div> |
| <hr/><h2 id="Structs">Data structures</h2> |
| <div class="definition"><h3 id="Struct_SCPDataMovement">Struct: SCPDataMovement</h3> |
| <table class="table-bordered table-striped table-condensed"><thead><tr><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default value</th></tr></thead><tbody> |
| <tr><td>1</td><td>dataMovementInterfaceId</td><td><code>string</code></td><td></td><td>required</td><td><code>"DO_NOT_SET_AT_CLIENTS"</code></td></tr> |
| <tr><td>2</td><td>securityProtocol</td><td><code><a href="#Enum_SecurityProtocol">SecurityProtocol</a></code></td><td></td><td>required</td><td></td></tr> |
| <tr><td>3</td><td>alternativeSCPHostName</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr> |
| <tr><td>4</td><td>sshPort</td><td><code>i32</code></td><td></td><td>optional</td><td><code>22</code></td></tr> |
| </tbody></table><br/><pre>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. |
| </pre><br/></div><div class="definition"><h3 id="Struct_GridFTPDataMovement">Struct: GridFTPDataMovement</h3> |
| <table class="table-bordered table-striped table-condensed"><thead><tr><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default value</th></tr></thead><tbody> |
| <tr><td>1</td><td>dataMovementInterfaceId</td><td><code>string</code></td><td></td><td>required</td><td><code>"DO_NOT_SET_AT_CLIENTS"</code></td></tr> |
| <tr><td>2</td><td>securityProtocol</td><td><code><a href="#Enum_SecurityProtocol">SecurityProtocol</a></code></td><td></td><td>required</td><td></td></tr> |
| <tr><td>3</td><td>gridFTPEndPoints</td><td><code>list<<code>string</code>></code></td><td></td><td>required</td><td></td></tr> |
| </tbody></table><br/><pre>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. |
| </pre><br/></div><div class="definition"><h3 id="Struct_UnicoreDataMovement">Struct: UnicoreDataMovement</h3> |
| <table class="table-bordered table-striped table-condensed"><thead><tr><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default value</th></tr></thead><tbody> |
| <tr><td>1</td><td>dataMovementInterfaceId</td><td><code>string</code></td><td></td><td>required</td><td><code>"DO_NOT_SET_AT_CLIENTS"</code></td></tr> |
| <tr><td>2</td><td>securityProtocol</td><td><code><a href="#Enum_SecurityProtocol">SecurityProtocol</a></code></td><td></td><td>required</td><td></td></tr> |
| <tr><td>3</td><td>unicoreEndPointURL</td><td><code>string</code></td><td></td><td>required</td><td></td></tr> |
| </tbody></table><br/><pre>Data Movement through UnicoreStorage |
| |
| unicoreEndPointURL: |
| unicoreGateway End Point. The provider will query this service to fetch required service end points. |
| </pre><br/></div><div class="definition"><h3 id="Struct_LOCALDataMovement">Struct: LOCALDataMovement</h3> |
| <table class="table-bordered table-striped table-condensed"><thead><tr><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default value</th></tr></thead><tbody> |
| <tr><td>1</td><td>dataMovementInterfaceId</td><td><code>string</code></td><td></td><td>required</td><td><code>"DO_NOT_SET_AT_CLIENTS"</code></td></tr> |
| </tbody></table><br/><pre>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. |
| </pre><br/></div><div class="definition"><h3 id="Struct_DataMovementInterface">Struct: DataMovementInterface</h3> |
| <table class="table-bordered table-striped table-condensed"><thead><tr><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default value</th></tr></thead><tbody> |
| <tr><td>1</td><td>dataMovementInterfaceId</td><td><code>string</code></td><td></td><td>required</td><td></td></tr> |
| <tr><td>2</td><td>dataMovementProtocol</td><td><code><a href="#Enum_DataMovementProtocol">DataMovementProtocol</a></code></td><td></td><td>required</td><td></td></tr> |
| <tr><td>3</td><td>priorityOrder</td><td><code>i32</code></td><td></td><td>required</td><td><code>0</code></td></tr> |
| <tr><td>4</td><td>creationTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr> |
| <tr><td>5</td><td>updateTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr> |
| <tr><td>6</td><td>storageResourceId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr> |
| </tbody></table><br/><pre>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 |
| |
| </pre><br/></div></div></body></html> |