blob: 39c48d60c986b0f94ab58b90f0002d79cdb6ea22 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<link href="style.css" rel="stylesheet" type="text/css"/>
<title>Thrift module: allocation_manager_models</title></head><body>
<div class="container-fluid">
<h1>Thrift module: allocation_manager_models</h1>
<p>Required allocation request details</p>
<li>id : (primary key) Ask the user to assign project ID, but this project should unique, we will need an API endpoint to check whether this ID is not used by other projects and the username</li>
<li>applicationsToBeUsed : Select the application that the user intends to use, according to application chosen here, resources that can be allocable will be fetch from resource discovery module. User will not be restricted to these application upon allocation grant, provided the resources allocated support the application.</li>
<li>diskUsageRangePerJob : An optional field to help reviewer and PI for allocation approval</li>
<li>documents : Resume, CV, PI’s portfolio etc</li>
<li>fieldOfScience :An optional field to help reviewer and PI for allocation approval</li>
<li>keywords : Keyword will be helpful in search</li>
<li>maxMemoryPerCpu :An optional field to help reviewer and PI for allocation approval</li>
<li>numberOfCpuPerJob : An optional field to help reviewer and PI for allocation approval</li>
<li>projectDescription :(Eg: Hypothesis, Model Systems, Methods, and Analysis)</li>
<li>projectReviewedAndFundedBy : (Eg., NSF, NIH, DOD, DOE, None etc...). An optional field to help reviewer and PI for allocation approval</li>
<li>requestedDate: The date the allocation was requested</li>
<li>serviceUnits : 1 SU is approximately 1 workstation CPU hour, if the user fails to give a value, default value will be chosen.</li>
<li>specificResourceSelection : This list will be fetched from resource discovery module, in case of community allocation, the request is subject to reviewers, PI discretion and availability</li>
<li>title : Assign a title to allocation request</li>
<li>typeOfAllocation : If the User has an exclusive allocation with third party organization and wants to use airavata middleware to manage jobs.</li>
<li>typicalSuPerJob : An optional field to help reviewer and PI for allocation approval</li>
<br/><table class="table-bordered table-striped table-condensed"><thead><th>Module</th><th>Services</th><th>Data types</th><th>Constants</th></thead>
<tr>
<td>allocation_manager_models</td><td></td>
<td><a href="#Struct_AllocationManagerException">AllocationManagerException</a><br/>
<a href="#Struct_ProjectReviewer">ProjectReviewer</a><br/>
<a href="#Struct_ReviewerAllocationDetail">ReviewerAllocationDetail</a><br/>
<a href="#Struct_UserAllocationDetail">UserAllocationDetail</a><br/>
<a href="#Struct_UserDetail">UserDetail</a><br/>
</td>
<td></code></td>
</tr></table>
<hr/><h2 id="Structs">Data structures</h2>
<div class="definition"><h3 id="Struct_UserAllocationDetail">Struct: UserAllocationDetail</h3>
<table class="table-bordered table-striped table-condensed"><thead><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default value</th></thead>
<tr><td>1</td><td>projectId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>2</td><td>applicationsToBeUsed</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>3</td><td>diskUsageRangePerJob</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>4</td><td>documents</td><td><code>binary</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>5</td><td>fieldOfScience</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>6</td><td>keywords</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>7</td><td>maxMemoryPerCpu</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>8</td><td>numberOfCpuPerJob</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>9</td><td>projectDescription</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>10</td><td>projectReviewedAndFundedBy</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>11</td><td>requestedDate</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>12</td><td>serviceUnits</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>13</td><td>specificResourceSelection</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>14</td><td>title</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>15</td><td>typeOfAllocation</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>16</td><td>typicalSuPerJob</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>17</td><td>awardAllocation</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>18</td><td>startDate</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>19</td><td>endDate</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>20</td><td>status</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>21</td><td>username</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
</table><br/><p>Required allocation request details</p>
<li>id : (primary key) Ask the user to assign project ID, but this project should unique, we will need an API endpoint to check whether this ID is not used by other projects and the username</li>
<li>applicationsToBeUsed : Select the application that the user intends to use, according to application chosen here, resources that can be allocable will be fetch from resource discovery module. User will not be restricted to these application upon allocation grant, provided the resources allocated support the application.</li>
<li>diskUsageRangePerJob : An optional field to help reviewer and PI for allocation approval</li>
<li>documents : Resume, CV, PI’s portfolio etc</li>
<li>fieldOfScience :An optional field to help reviewer and PI for allocation approval</li>
<li>keywords : Keyword will be helpful in search</li>
<li>maxMemoryPerCpu :An optional field to help reviewer and PI for allocation approval</li>
<li>numberOfCpuPerJob : An optional field to help reviewer and PI for allocation approval</li>
<li>projectDescription :(Eg: Hypothesis, Model Systems, Methods, and Analysis)</li>
<li>projectReviewedAndFundedBy : (Eg., NSF, NIH, DOD, DOE, None etc...). An optional field to help reviewer and PI for allocation approval</li>
<li>requestedDate: The date the allocation was requested</li>
<li>serviceUnits : 1 SU is approximately 1 workstation CPU hour, if the user fails to give a value, default value will be chosen.</li>
<li>specificResourceSelection : This list will be fetched from resource discovery module, in case of community allocation, the request is subject to reviewers, PI discretion and availability</li>
<li>title : Assign a title to allocation request</li>
<li>typeOfAllocation : If the User has an exclusive allocation with third party organization and wants to use airavata middleware to manage jobs.</li>
<li>typicalSuPerJob : An optional field to help reviewer and PI for allocation approval</li>
<br/></div><div class="definition"><h3 id="Struct_ReviewerAllocationDetail">Struct: ReviewerAllocationDetail</h3>
<table class="table-bordered table-striped table-condensed"><thead><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default value</th></thead>
<tr><td>1</td><td>projectId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>2</td><td>applicationsToBeUsed</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>3</td><td>diskUsageRangePerJob</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>4</td><td>documents</td><td><code>binary</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>5</td><td>fieldOfScience</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>6</td><td>keywords</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>7</td><td>maxMemoryPerCpu</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>8</td><td>numberOfCpuPerJob</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>9</td><td>projectDescription</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>10</td><td>projectReviewedAndFundedBy</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>11</td><td>requestedDate</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>12</td><td>serviceUnits</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>13</td><td>specificResourceSelection</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>14</td><td>title</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>15</td><td>typeOfAllocation</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>16</td><td>typicalSuPerJob</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>17</td><td>awardAllocation</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>18</td><td>startDate</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>19</td><td>endDate</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>20</td><td>status</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>21</td><td>username</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>22</td><td>id</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
</table><br/></div><div class="definition"><h3 id="Struct_ProjectReviewer">Struct: ProjectReviewer</h3>
<table class="table-bordered table-striped table-condensed"><thead><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default value</th></thead>
<tr><td>1</td><td>projectId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>2</td><td>reviewer</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>3</td><td>id</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
</table><br/><p>Allocation Request status details</p>
<li>projectId: Unique id of the project</li>
<li>awardAllocation: Allocation awarded</li>
<li>endDate: End date of the request</li>
<li>reviewers: reviewers of the request</li>
<li>startDate: Start date of the allocation</li>
<li>status: Status of the allocation request</li>
<br/></div><div class="definition"><h3 id="Struct_UserDetail">Struct: UserDetail</h3>
<table class="table-bordered table-striped table-condensed"><thead><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default value</th></thead>
<tr><td>1</td><td>username</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>2</td><td>email</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>3</td><td>fullName</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>4</td><td>password</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>5</td><td>userType</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
</table><br/><p>A user should have an account with airavata to request an allocation</p>
<li>username : Login Username</li>
<li>email :Login email</li>
<li>fullName: Full name of the user</li>
<li>Password: Password of the user</li>
<li>userType: Type of the user</li>
<br/></div><div class="definition"><h3 id="Struct_AllocationManagerException">Exception: AllocationManagerException</h3>
<table class="table-bordered table-striped table-condensed"><thead><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default value</th></thead>
<tr><td>1</td><td>message</td><td><code>string</code></td><td></td><td>required</td><td></td></tr>
</table><br/><p>Exception model used in the allocation manager service</p>
<br/></div></div></body></html>