blob: 1cf159e7b55b08d30d0e4d255f0eb121c998b8ff [file] [log] [blame]
<!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&lt;<code>string</code>&gt;</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>